jiabanl 发表于 2018-10-2 13:48:38

mysql字符集乱码

  很不多不注意数据库的乱码情况,导致字符出错:
  默认的是拉丁字符集:

  在这个库里面创建的表也是拉丁字符集:

  下面插入正常的数据:

  显示是正常的。
  当插入中文的时候:必须要把客户端设置为拉丁字符集。

  另一种方法是在外面编辑xpg.sql;然后用system倒入进去

  mysql不乱码的5种方法及不乱吗根源;

[*]  set name
  2.在sql文件里面指定set name
  3.在命令中使用--default-charcater-set=latin1
  4.修改my.cnf
  不乱码的思想:客户端,服务端,库,表,程序统一
  系统:系统文件,不同的系统是不一样的。centos7的# vi /etc/locale.conf
  客户端:set names就是修改客户端字符集
  服务端:修改my.cnf
  库表: create databasetestdefault characterset utf8;
  了解一下这2个命令:
  show variables;
  show globalstatus; mysql的状态
  还有在不重启mysql的情况下进行修改mysql参数。
  修改是setglobalkey_buffer_size=
  查看是:show variableslike "key_buffer%";
  查看客户端,服务端,系统的字符集;

  分别是:客户端字符集,连接字符集,数据库字符集,返回字符集,服务端字符集,系统字符集;
  执行set names到底做了什么?
  set name的结果就是修改客户端,连接,以及返回结果字符集。
  并只是临时修改的。
  mysql命令 --default-character-set=latin1和set names的结果是一样的。
  统一客户端以及服务端的字符集
  
  default-character-set=utf8
  
  default-character-set=utf8
  这样的修改需要重启mysql。

页: [1]
查看完整版本: mysql字符集乱码