php – mysql提供“无法初始化字符集utf-8(路径:/usr/share / m
我正在了解更多关于
mysqli和所有令人兴奋的东西,但我很快被阻止的路径.
我的debian盒子上有一个本地服务器.它是最新的,php和mysql安装并运行顺利. <?php $db = new mysqli('localhost','userdb','pwuserdb','db'); if(!$db->set_charset('utf-8')) { printf("Error setting the character set utf-8: %sn",$db->error); } else { printf("Current character set is: %sn",$db->character_set_name()); } print_r($db->get_charset()); ?> 当我访问该页面时,我感到惊讶的是收到以下消息: 我想到自己,这是合乎逻辑的,因为我没有设置utf-8作为mysql的标准字符集,所以我完成了在my.cnf文件中的以下设置: 对于[mysqld] default-character-set=utf8 为[客户] default-character-set=utf8 我也从命令行登录到mysql并运行 我也从命令行以及apache重新加载了mysql. mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec) 但是由于mysql找不到utf8文件,所以在/usr/share / mysql / charsets /文件夹中检查了一个utf8.xml文件,没有一个. 只是为了这些信息,我的系统区域设置都是UTF8(en和pl),我不明白为什么utf8.xml文件不在目录中,因为我还没有在这个目录或其内容一直愚弄. 欢迎任何想法/建议/建议. 先谢谢你! 干杯!
你试过了吗
if(!$db->set_charset('utf8')) { 没有破折号? 因为您对系统的所有研究都指向utf8而不是utf-8;) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |