mysql字符集显示故障排查一例

        前几天,项目要求使用mysql数据库,通过网页读取数据库中的数据记录,往数据库中插入记录后,从页面读取时发现中文显示乱码,其他的字母数字等字符倒是正常显示,但中文无法正常显示。负责该项目开发的同事搞了很久也没搞好,让我帮忙搞搞。因为已经很久没弄过mysql了,那些命令及参数的用法那些早忘光了,不得已先求助于搜索引擎的帮助快速复习一下,先熟悉一下mysql的一些用法。明白了mysql的基本用法以后,咱们就开始分析这个故障。

        项目中使用mysql数据库来保存数据,所有的数据都保存在项目的数据库中。首先确认故障现象,mysql数据库中已经保存了项目的数据,现在需要手工向数据库中插入一些记录,记录中包含了中文字段,数据库原来也存有中文字段的记录,在手工插入mysql数据库过程中,发现插入数据库没有问题,在mysql本地查询该记录也没有问题,但通过网页来读取显示mysql中的数据时,数据库中原有的数据正常显示,但读取新插入的记录时,中文显示乱码,mysql在本地查询该记录,显示也都正常,通过页面读取该记录时中文就成了乱码,请教了大名鼎鼎的“度娘”,大概明白了mysql的字符集设置的问题。(主要就是utf8,gbk,latina1,gb2312这几个)

      先查看mysql字符集设置,执行以下命令:

mysql> show variables  like '%char%';

得到了当前数据库的字符集设置。因为是使用utf8字符集来建立的数据库,那就全部改成utf8字符集来试下,能不能正常显示。执行以下命令:

mysql>mysql  --default-character-set=utf8  -uroot   -p*******;

进入数据库以后删除新插入的记录,再重新插入记录,页面读取新插入的记录是中文依然显示乱码,因为项目是本地通过命令行来插入数据的记录的,那我就把mysql的客户端字符集改为原来的字符集试试,中文还是显示乱码,我又试了保留原来的字符集,只把客户端字符集改为utf8字符集,结果中文还是显示乱码。郁闷,难道没法搞了么??

我再全部使用utf8字符集来连接数据库,这次就把客户端字符集改为gbk了,再试下,页面读取新插入记录,中文显示终于正常了。好了,收工吧~~~~太久没搞过mysql了,全部忘了,这次正好复习复习,再巩固下。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值