MySQL数据库中的中文乱码如何解决

MySQL数据库中的中文乱码如何解决,第1张

mysql数据乱码问题可能有以下三种原因:

1.server本身设定问题,例如还停留在latin1版本

2.table的语系设定问题(包含character与collation)

3.客户端程式(例如php,java)的连线语系设定问题

建议使用utf8!!!!

想要避免mysql的中文乱码问题,可以尝试以下方法:

1,对于版本问题,建议去官网更新最新的版本或者比较好用的版本;

2,创建数据库,创建表时没有对字符编码进行设定会造成乱码问题:

创建数据库的时候:CREATE DATABASE `test`

CHARACTER SET 'utf8'

COLLATE 'utf8_general_ci'

建表的时候 CREATE TABLE `database_user` (

`ID` varchar(40) NOT NULL default '',

`UserID` varchar(40) NOT NULL default '',

) ENGINE=InnoDB DEFAULT CHARSET=utf8

3,对于第三种情况,参考一下方法:

编辑linux服务器中/etc/my.cnf文件,在[mysql]段加入default_character_set=utf8

如果只是调试遇到乱码问题:

在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参数

并且在网页代码中加上一个"set names utf8"或者"set names gbk"的指令,告诉MySQL连线内容都要使用utf-8或者gbk。

utf8或者gbk

最近发现,在MySQL的dos客户端输出窗口中查询表中的数据时,表中的中文数据都显示成乱码,如下图所示:

上网查了一下原因:之所以会显示乱码,就是因为MySQL客户端输出窗口显示中文时使用的字符编码不对造成的,可以使用如下的命令查看输出窗口使用的字符编码:show

variables

like

'char%'

命令执行完成之后显示结果如下所示:

可以看到,现在是使用utf8字符编码来显示中文数据的,但是因为 *** 作系统是中文 *** 作系统,默认使用的字符集是GB2312,所以需要把输出窗口使用的字符编码改成gb2312才能够正常显示中文。使用如下的命令设置输出窗口使用的字符编码:set

character_set_results=gb2312

命令执行完成之后就可以把输出窗口使用的字符编码改成gb2312,如下图所示:

此时我们再次执行查询,表中的中文数据就可以正常显示了,如下图所示:

以上就是为大家分享的解决MySQL客户端输出窗口显示中文乱码问题的办法,希望对大家的学习有所帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7331476.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存