开发者社区> 问答> 正文

Mysql 字符集utf8mb4设置无效 配置报错 

背景:由于要解决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 问题:如何修改mysql字符集,保证character_set_client、character_set_connection、character_set_results、character_set_system变量的字符集为utf8mb4

展开
收起
kun坤 2020-05-30 23:38:37 1254 0
1 条回答
写回答
取消 提交回答
  • --- 没人愿意回答嘛?######你建数据库的时候直接把字符集建成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。######试一下重启数据库,看下能不能解决###### 我遇到了和你一样的情况。。。。你后面是怎么解决的。虽然插入表情的问题解决了,但是我还是想问下为啥character_set_client、character_set_connection、character_set_results、character_set_system变量的字符集为utf8mb4不生效。######很遗憾,没有解决mysql数据库utf8mb4编码设置问题######最后怎么解决的?我的今天也突然变成这样了,怎么改都不起效果。######回复 @心急如焚 : 我的已经解决,其实设置是对的。但是Navicat默认使用的是utf-8编码。而且还改不了。当时使用的是Navicat 10这个版本,最后换了一个Navicat 12 就正常了。在>mysql命令行下进行查询实际上已经全是utf8mb4编码。证明设置已经成功。######很遗憾,没有解决mysql数据库utf8mb4编码设置问题,不过生僻字问题有解决

    2020-05-30 23:38:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像