Hello there, i have been thru all this in the pas week, the problem is mostly in encodings.
here what i have done since my store is brand new, and still is not released.
i converted all of tables in database in utf8_general_ci
then got Uni2Me.exe (encoding convertor) and converted all Bulgarian files in utf-8,
in /includes/languages/XXXXXX.php where XXXXXX stands for names you using (I use Englsih, Russian, Bulgarian and Turkish) find the line wirh CHARSET definition and replace windows-1251 with utf-8 for bg and ru
and in english Iso-8859-1 to utf-8.
then in you have to add 2 lines in
/includes/classes/db/mysql/query_factory.php
Code:
//@TODO error class required to virtualise & centralise all error reporting/logging/debugging
$this->database = $zf_database;
if (!function_exists('mysql_connect')) die ('Call to undefined function: mysql_connect(). Please install the MySQL Connector for PHP');
if ($zf_pconnect != 'false') {
$this->link = @mysql_connect($zf_host, $zf_user, $zf_password, true);
} else {
// pconnect disabled ... leaving it as "connect" here instead of "pconnect"
$this->link = @mysql_connect($zf_host, $zf_user, $zf_password, true);
}
if ($this->link) {
if (@mysql_select_db($zf_database, $this->link)) {
mysql_query("SET NAMES UTF8;");
$this->db_connected = true;
return true;
} else {
$this->set_error(mysql_errno(),mysql_error(), $zp_real);
return false;
}
} else {
$this->set_error(mysql_errno(),mysql_error(), $zp_real);
return false;
}
}
Then, (asuming u got translation for version 1.3.0 from official website download directory) u should get WinMerge and compare all files in /includes/language/XXXXX directory one by one (trust me i know what i am writing)
basicaly ... most problems will be in Bulgarian.php, meta_tags.php, login.php and index.php (at least those were my problems).
another thing u should reconsider .... use Notepad++ for editing, and if one file is not marked as ANSI as UTF-8 get other file wich have that encoding, and copy - paste content then save as. That might look lame for experts... but it works at least for me.
if u get blank pages.... well i did that: got english.php then replaced every translated statement, keep in mind if u think to do that to copy ONLY text inside and not ' (dunno the name of that symbol)
if some definitions are missing, i could recomend u to add them to the files so people see english text instead of NAME_OF_THE_SHOP
from now on, your newly added product should be fine (old ones will be a mess)
u might need to do same thing for adimn area too, cuz some files have to display its contents in Bulgarian.
OR
u can just simply walk thru database and increase every VARCHAR variable to 255 ;) wich is simplest solution but.... u might not like results.
I hope that helps.
Thanks in beers
Bookmarks