码迷,mamicode.com
首页 > 数据库 > 详细

mysql字符集乱码

时间:2018-02-24 15:03:56      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:mysql   linux   

很不多不注意数据库的乱码情况,导致字符出错:

默认的是拉丁字符集:

技术分享图片

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

技术分享图片

下面插入正常的数据:

技术分享图片

显示是正常的。

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

技术分享图片

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

技术分享图片

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

  1. set name

   2.在sql文件里面指定set name

   3.在命令中使用--default-charcater-set=latin1

    4.修改my.cnf

不乱码的思想:客户端,服务端,库,表,程序统一

系统:系统文件,不同的系统是不一样的。centos7的[root@ceshi ~]# vi /etc/locale.conf

客户端:set names  就是修改客户端字符集

服务端:修改my.cnf

库表: create database  test  default character  set utf8;

了解一下这2个命令:

show variables;

show global  status; mysql的状态

还有在不重启mysql的情况下进行修改mysql参数。

修改是set  global  key_buffer_size=

查看是:show variables  like "key_buffer%";

查看客户端,服务端,系统的字符集;

技术分享图片

分别是:客户端字符集,连接字符集,数据库字符集,返回字符集,服务端字符集,系统字符集;


执行set names到底做了什么?

set name的结果就是修改客户端,连接,以及返回结果字符集。

并只是临时修改的。


mysql命令 --default-character-set=latin1和set names的结果是一样的。


统一客户端以及服务端的字符集

[client]

default-character-set=utf8

[mysqld]

default-character-set=utf8

这样的修改需要重启mysql。


mysql字符集乱码

标签:mysql   linux   

原文地址:http://blog.51cto.com/11726212/2072587

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!