mysql 中常常出现对中文支持不友好的情况常见的错误 “Illegal mix of collations for operation”

下面我们规整一下 mysql 数据库中一共涉及到哪些字符集

character-set-server/default-character-set:服务器字符集,默认情况下所采用的

character-set-database:数据库字符集

character-set-table:数据库表字符集

一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集.

character-set-client:客户端的字符集

character-set-results:结果字符集

在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集

下面分享一个解决mysql 中文字符乱码的解决方案:

修改mysql 配置

vim /etc/mysql/my.cnf

查找 “client” 一项:

Mysql彻底解决中文乱码问题的方案(Illegal mix of collations for operation)

上面黄色关键词就是我们要找的 client, 紧接着在下面添加一行: default-character-set=utf8

保存退出配置文件.

然后关闭mysql服务,重新启动.

/etc/init.d/mysql stop
/etc/init.d/mysql start

然后我们进入 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 |
+--------------------------+--------+
7 rows in set (0.00 sec)

上面结果可以看到字符集默认支持 utf8,我们在涉及到汉字的时候不会有乱码的情况.

以上所述是小编给大家介绍的Mysql彻底解决中文乱码问题的方案(Illegal mix of collations for operation),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。