字符集问题
字符集:字符在保存和传输时对应的二进制编码集合。
创建测试数据库
mysql> create table stu(
-> id int primary key,
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.00 sec)
插入中文报错
分析原因:
客户端通过GBK发送的命令
但是,服务用utf8解释命令
设置服务器,用gbk字符编码接受客户端发来的命令
测试:插入中文,成功
查询数据,发现数据乱码
原因:以utf返回的结果,客户端用gbk来接受
解决:服务器用gbk返回数据
再次测试,查询数据
总结:客户端编码、character_set_client、character_set_results三个编码的值一致即可操作中文。
多学一招:我们只要设置“set names 字符编码”,就可以更改character_set_client、character_set_results的值。