Codeigniter不接受“utf8mb4”作为默认字符集

时间:2016-07-14 12:48:40

标签: php mysql codeigniter utf-8

美好的一天,

我正在使用Codeigniter开发我的webapp。 服务器上的PHP版本是5.6.22,db的Mysql版本是5.6.27。 在codeigniter的database.php中,当我从“utf8”将charset更改为“utf8mb4”时,我收到以下消息。(附图片)

无法设置客户端连接字符集:utf8mb4

enter image description here

更新 我可以在另一台具有相同php版本和相同mysql版本的服务器上运行codeigniter应用程序。所以它必须是属于httpd.conf或php.ini的东西,可能吗?

2 个答案:

答案 0 :(得分:4)

database.php

  
    

char_set设置为utf8mb4 ,将 dbcollat设置为utf8mb4_unicode_ciutf8_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. Using utf8mb4 with php and mysql

答案 1 :(得分:0)

我能够通过删除我的php安装并从头开始再次安装httpd和php来删除错误。