解決zen cart多語言亂碼

zen-cart安裝的時候使用的是iso-8859-1爲默認字符集,如果在默認安裝下輸入中文將會亂碼一片。

最好的辦法是修改zen-cart的字符集配置,使用utf-8爲其默認字符集。

有2個地方需要修改,一個是購物車的的默認字符集,一個是控制檯的字符集。

includes/languages/english.php在這個文件中includes/languages/english.php的50行

修改 define(‘CHARSET’, ‘iso-8859-1′);
爲define(‘CHARSET’, ‘utf-8′);

admin/includes/languages/french.php在admin/includes/languages/french.php文件的63行。

將define(‘CHARSET’, ‘iso-8859-1′);
改爲define(‘CHARSET’, ‘utf-8′);

這個文件主要是指定控制檯所使用的文件的字符集。

修改上述2個文件以後,zen-cart的購物車所有頁面將會使用UTF8,但是如果用phpmyadmin查看數據庫,將會看到亂碼。

這是因爲zen-cart沒有指定utf8爲數據庫連接的默認字符集。

需要修改 includesclassesdbmysql 目錄下的 query_factory.php 文件,找到下面的內容:
if (@mysql_select_db($zf_database, $this->link)) {
$this->db_connected = true;
return true;
} else {
$this->set_error(mysql_errno(),mysql_error(), $zp_real);
return false;
}

將其修改成

if (@mysql_select_db($zf_database, $this->link)) {
$this->db_connected = true;

// *** UTF8 Connection Add [BEGIN] ***
mysql_query(“SET NAMES ‘utf8′”, $this->link);
mysql_query(“SET CHARACTER SET UTF8″, $this->link);
// *** UTF8 Connection Add [END] ***

return true;
} else {
$this->set_error(mysql_errno(),mysql_error(), $zp_real);
return false;
}

修改保存後,mysql的連接將會使用utf8,中文資料的處理就不會有問題了,可以使用phpmyadmin確認一下有沒有錯誤。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章