赞
踩
这可真是个坑爹的问题,我的数据库使用的也是UTF-8,所以中文应该是没问题的,后发现用户传递了一个?字,这个字可能由于字体库已经将其弃用,导致查询不到,识别为表情了,所以转为4个字节,而UTF-8是3个字节,所以出错了。
- 修改MySQL的配置文件
- windows 查找my.ini
- linux查找my.cnf
- 做如下修改:
- [mysqld]
- character-set-server=utf8mb4
-
- [mysql]
- default-character-set=utf8mb4
-
- 然后将对应的表的字符集也做修改
- alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin;
- 由于修改了表结构,会对以前的数据有影响,而且我们是将内容从3个字节的字符集变为4个字节的字符集,所以需要
- 对表的列进行长度的扩容。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。