背景:由于要解决java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1异常,所以要修改mysql字符集,改为utf8mb4。 修改字符集参考文章如下(参考修改后都没有效果): https://www.jb51.net/article/144079.htm https://blog.csdn.net/u014034329/article/details/80969246 mysql信息: version:5.7.22免安装版 路径:D:\Work_Program_Files\mysql my.ini文件信息:
[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 init_connect='set names utf8mb4' [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
mysql已经配置成windows服务,并且启动成功。但是通过navicatformysql登录mysql,通过show VARIABLES like 'char%'; 命令查询出结果为如下: 变量character_set_client、character_set_connection、character_set_results、character_set_system没有改为utf8mb4
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
--- 没人愿意回答嘛?######你建数据库的时候直接把字符集建成utf8mb4 然后name字段的字符集也设置成utf8mb4应该就可以解决这个问题的######谢谢回答! 再请教下,character_set_database和character_set_server已经是utf8mb4,应该是建库的时候设置的, 而character_set_client、character_set_connection、character_set_results、character_set_system这四个 参数是哪里设置的呢?######其实不用设置这么多参数。 只需要这样设置就可以了:
[client] default-character-set = utf8mb4
[mysql] default-character-set = utf8mb4
[mysqld] character-set-server = utf8mb4
然后你还要把现有数据库转换成utf8mb4。######试一下重启数据库,看下能不能解决######