前言:从控制台,向mysql数据库的表格中通过下列的命令添加中文内容时,出现了编码的问题:
insert into 数据库名称 (字段) values (值);
笔者的编码格式均为utf-8.
控制台提示了一个错误,错误内容为\uXXXX,其中XXXX为十六进制。这个为unicode的转义字符。
分析:
mysql的内部字符集涉及到了五处地方。分别为
client:客户端告知使用的字符集。
connection:连接数据库使用的字符集。没有指定的话,默认使用服务器字符集。
database :数据库使用的字符集,没有指定的话,默认使用服务器的字符集。
result :是数据库返还给客户端使用的字符集,没有指定的话,使用服务器字符集。
server :服务器安装时指定的字符集设置。
System:是数据库系统使用的字符集。
向控制台,输入:show variables like ('character_set%');出现如下结果: