2011-05-16 86 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'