设为首页 加入收藏

TOP

MySQL数据库读写Emoji表情符号报错问题解决办法
2017-11-07 08:56:36 】 浏览:131
Tags:MySQL 数据库 读写 Emoji 表情 符号 问题 解决 办法

1 MySQL的版本

utf8mb4的最低mysql版本支持版本为5.5.3+,若不是,请升级到较新版本。

2 MySQL驱动

5.1.34可用,最低不能低于5.1.13(开始没修改mysql的配置文件 导致服务器的mysql驱动jar包只能用5.1.13版本,升级版本就会报错,坑死)

3 修改MySQL配置文件

修改mysql配置文件my.cnf(windows为my.ini)

my.cnf一般在etc/mysql/my.cnf位置。找到后请在以下三部分里添加如下内容:

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect=’SET NAMES utf8mb4’

这里写图片描述

4 把数据库, 表 , 和 相应的字段 字符集都设置为utf8mb4(排序规则:

utf8mb4_unicode_ci 和utf8mb4_general_ci 二选一,unicode的精准 、general的快)

5 重启数据库 服务器端的数据库连接的配置

数据库连接参数中:

characterEncoding=utf8会被自动识别为utf8mb4, autoReconnect=true加上

6 将数据库和已经建好的表也转换成utf8mb4

更改数据库编码:ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

更改表编码:ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATEutf8mb4_general_ci;

如有必要,还可以更改列的编码

在第3步设置character_set_database,character_set_server不成功的可以试下直接在mysql.exe下

set @@character_set_server=’utf8mb4’;

set @@character_set_database=’utf8mb4’;

这下数据库就可以存下emoji表情的编码了。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇TiDB 整体架构、TiDB 集群主要分.. 下一篇数据库并发操作中存在的问题、封..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目