War*_*Ali 7 php mysql codeigniter utf-8
美好的一天,
我正在使用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的东西,也许吧?
在 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',
);
Run Code Online (Sandbox Code Playgroud)
然后在控制器中添加
$CI = &get_instance();
$CI->load->database();
echo $CI->db->char_set;
echo "<br>";
echo $CI->db->dbcollat;
Run Code Online (Sandbox Code Playgroud)
输出量
utf8mb4
utf8mb4_unicode_ci
Run Code Online (Sandbox Code Playgroud)
读这个