您的位置:首页 > 数据库 > MySQL

【开发笔记】MySQL 5.6.36 Windows x64位版本的utf8mb4字符集设置

2018-02-07 18:06 411 查看

1,概述

MySQL安装成功后(安装过程参见:http://blog.csdn.net/paulorwys/article/details/72628307),

常见的就是字符集的设置。

通常,为了规避中文存储/读取的乱码问题以及与其他系统(Android/iOS)统一编码/解码的问题,我们会强制指定数据库连接(url)的字符集为utf-8,形如:

配置文件(*.properties)中:

jdbc:mysql://<ip/host>:3306/<db_name>?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false

XML文件中:

jdbc:mysql://<ip/host>:3306/<db_name>?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false

既然提到了utf-8,细心的读者可能会联想到安装过程中的另外一个名字:utf-8mb4。

该字符集从MySQL 5.5版本开始提供,用于存放emoji字符,我们在微信公众号开发以及其他im通信中会遇到。

而对该字符集的支持,不能在jdbc连接字符串中强制指定utf-8mb4了,因为jdbc不予支持。

那就需要在服务端设置方面动脑筋了。

2,配置过程

2.1 目标环境

Windows 7 64位、Windows 10 64位

2.2 配置文件

参考文献:https://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

需要将安装目录下的my-default.ini改名或复制一份成my.ini文件,并进行相关的配置。

2.3 配置项

(1)【mysqld】段的配置项:

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect = 'set names utf8mb4'

参考文献:https://dev.mysql.com/doc/refman/5.7/en/server-options.html

(2)【client】段的配置项(在文件尾部追加)

default-character-set = utf8mb4

参考文献:https://dev.mysql.com/doc/refman/5.7/en/charset-configuration.html

(3)【mysql】段的配置项(在文件尾部追加)

default-character-set = utf8mb4

参考文献:https://dev.mysql.com/doc/refman/5.6/en/charset-connection.html

2.4 启动配置项

在修改配置文件之前,关闭mysql服务;

保存完毕配置文件后,启动mysql服务即可。

2.5 验证配置项

使用mysql工具登录,通过show variables where Variable_name like 'char%'命令来验证设置结果。



3,补充

注意:

(1)服务端设置与jdbc连接的设置是补充关系,不是替换关系。

(2)服务端设置适用于5.5及以上版本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: