MySQL学习笔记5——编码

MySQL学习笔记5之编码

编码

1.查看MySQL数据库编码
 *SHOW VARIABLES LIK 'char%';

2.编码解释
 *character_set_client:MySQL使用该编码来解读客户端发送过来的数据,例如该编码为UTF8,那么如果客户端发送过来的数据不是UTF8,那么就会出现乱码。
 *character_set_results:MySQL会把数据转换成该编码后,再发送给客户端,例如该编码为UTF8,那么如果客户端不使用UTF8来解读,那么就会出现乱码。
 其他编码只要支持中文即可,也就是说不能使用latin1。

3.控制台乱码问题
 *插入或修改时出现乱码:
  >这是因为cmd下默认使用GBK,而character_set_client不是GBK的原因。只需要让这两个编码相同即可。
  >因为修改cmd编码不方便,可以设置character_set_client为GBK即可。
 *查询出的数据为乱码:
  >这是因为character_set_results不是GBK,而cmd默认使用GBK的原因,同样的,只要这两个编码相同即可。
  >因为修改cmd编码不方便,可以设置character_set_results为GBK即可。
 *设置变量的语句:
  >set character_set_client=gbk;
  >set character_set_results=gbk;

4.指定默认编码
 设置变量只对当前连接有效,退出控制台后,再次登录MySQL。还需再次设置变量。
 可以在my.ini中设置,永久更改,设置default-character-set=gbk即可。
原文地址:https://www.cnblogs.com/silentteller/p/11813667.html