千家信息网

mysql乱码导致字符出错解决方法

发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,本文主要给大家简单讲讲mysql乱码导致字符出错解决方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql乱码导致字符出错解决方法这篇文章可以给
千家信息网最后更新 2024年11月13日mysql乱码导致字符出错解决方法

本文主要给大家简单讲讲mysql乱码导致字符出错解决方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql乱码导致字符出错解决方法这篇文章可以给大家带来一些实际帮助。

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

默认的是拉丁字符集:

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

下面插入正常的数据:

显示是正常的。

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

另一种方法是在外面编辑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乱码导致字符出错解决方法就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

0