解決 OSCommeric 顯示正常但資料庫內的中文為亂碼的問題

如果你在 MYSQL 強制設定
default-character-set = utf8 default-collation = utf8_general_ci
OSCommeric 還是不吃你這一套,存進去的資料仍然不會是UTF8

首先請先用 OSCommeric 備份你的資料庫,備份完後請先用文字檔確認內容沒有亂碼。(很重要,後面會用到)
接下來在下面2個檔案中修改程式
osc/includes/application_top.php osc/admin/includes/application_top.php
找到 tep_db_connect() or die('Unable to connect to database server!');
修改成下面這個樣子(2個檔案都要修改)
tep_db_connect() or die('Unable to connect to database server!'); if (substr(mysql_get_server_info(), 0, 3) >= '4.1') { tep_db_query("SET NAMES 'UTF8'"); }
改完後你會發現原來正常顯示的資料都變成亂碼,不用緊張
這時候再把我們之前備份的資料庫再還原回去(再次提醒還原前一定要確認備份的檔案內容是正常的,沒有亂碼的)
還原完成後,資料庫與網頁的顯示就都正常了。

新增評論

Loading