2011-05-16 111 views
2

我有一個CakePHP站點工作正常(就編碼而言)...但在保存數據時,shell腳本不能正確編碼數據。網站和shell使用的是相同的連接字符串......但UTF8編碼不受shell程序的支持。 (1奇怪的事情要注意:如果我從連接字符串中刪除'encoding'元素並運行shell程序將保存數據按預期方式...但我想重新使用相同的連接字符串)。UTF8編碼在CakePHP Shell中不工作

MySQL數據庫:

CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci 

CakePHP的MySQL連接字符串:

var $default = array(
    'driver' => 'mysql', 
    'persistent' => false, 
    'host' => 'localhost', 
    'login' => 'user', 
    'password' => 'mypassword', 
    'database' => 'dbname', 
    'prefix' => '', 
      'encoding' => 'utf8' 
); 
+0

請提供更多詳細說明實際問題是什麼以及如何重現它。目前,你只是在猜測未提及的問題的原因。 – deceze 2011-05-16 22:37:19

回答

1

在你的shell腳本,嘗試連接後立即運行下面的查詢:

SET NAMES 'utf8'