加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL字符问题

发布时间:2020-12-12 03:05:41 所属栏目:MySql教程 来源:网络整理
导读:《MySQL字符问题》要点: 本文介绍了MySQL字符问题,希望对您有用。如果有疑问,可以联系我们。 中文写入乱码问题: 我输入的中文编码是urf8的,建的库是urf8的,但是插入mysql总是乱码,一堆"???????????????????????" 我用的是ibatis,终于找到原因了,我是这么

《MySQL字符问题》要点:
本文介绍了MySQL字符问题,希望对您有用。如果有疑问,可以联系我们。

MySQL字符问题

  1. 中文写入乱码问题:我输入的中文编码是urf8的,建的库是urf8的,但是插入mysql总是乱码,一堆"???????????????????????"

我用的是ibatis,终于找到原因了,我是这么办理的:

原url地址是:jdbc:mysql://localhost:3306/comment1

改为:jdbc:mysql://localhost:3306/comment1??useUnicode=true&characterEncoding=UTF-8

就OK了.

2.Incorrect string value: 'xF0x9F...' for column 'XXX' at row 1

这个问题,原因是UTF-8编码有可能是两个、三个、四个字节.Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去.

我的办理方案是这样的

1.在mysql的安装目录下找到my.ini,作如下修改:

[mysqld]

character-set-server=utf8mb4

[mysql]

default-character-set=utf8mb4

修改后重启Mysql

2. 将已经建好的表也转换成utf8mb4

命令:alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (将TABLE_NAME替换成你的表名)

然后就OK了.网上流传的一个版本增加了一个步骤,便是把mysql环境变量将character_set_client,character_set_connection,character_set_database,character_set_results,character_set_server 都修改成utf8mb4

欢迎参与《MySQL字符问题》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读