美好的一天,
我正在使用Codeigniter开发我的webapp。 服务器上的PHP版本是5.6.22,db的Mysql版本是5.6.27。 在codeigniter的database.php中,当我从“utf8”将charset更改为“utf8mb4”时,我收到以下消息。(附图片)
无法设置客户端连接字符集:utf8mb4
更新 我可以在另一台具有相同php版本和相同mysql版本的服务器上运行codeigniter应用程序。所以它必须是属于httpd.conf或php.ini的东西,可能吗?
答案 0 :(得分:4)
在database.php
将
char_set
设置为utf8mb4
,将dbcollat
设置为utf8mb4_unicode_ci
或utf8_general_ci
我使用我的Codeigniter 3.0测试了这个
$db['default'] = array(
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8mb4',
'dbcollat' => 'utf8mb4_unicode_ci',
);
在控制器中我添加了这个
$CI = &get_instance();
$CI->load->database();
echo $CI->db->char_set;
echo "<br>";
echo $CI->db->dbcollat;
<强>输出强>
utf8mb4
utf8mb4_unicode_ci
阅读本文
答案 1 :(得分:0)
我能够通过删除我的php安装并从头开始再次安装httpd和php来删除错误。