mysql查看表内容 很乱_mysql数据表字符混乱问题解决办法

因为不知道什么时候的原因,我们有一个数据库超级无赖的具有了无敌的特性:数据表的编码是Latin1-swXXXX什么的。而保存在里面的中文又是php强制以utf8保存在其中。因此,出了各种乱七八糟的怪里怪气的毛病。让我等对于MySQL这种数据库本就没有什么爱的人深感恶心。

因此,今日在研究之下终于解决此问题。再次说明,本文是把latin1转为utf8。

问题的核心还是在于要改变已有保存字符的混乱问题,最彻底和便捷的方法就是直接导出,然后再以对应所需的字符导入。

为了能够正确的导入,我们必须要确保导出的数据在你的文字编辑器下能够正常显示中文。对于我们这次的这个数据库,我们最终的导出语句是:

view plaincopy to clipboardPRint?

/usr/local/mysql/bin/mysqldump -p --opt --default-character-set=latin1 sends> /home/test/sends.sql

/usr/local/mysql/bin/mysqldump -p --opt --default-character-set=latin1 sends> /home/test/sends.sql

导出后你就自觉的先看看中文显示正不正常吧,如果不正常就回去改个编码继续导。。。。

如果正常,继续:

现在要准备导入,但是导入的工作之前有个预备工作要做,如果你之前只导出一个表。那修改你导出的文件中的这一行:

view plaincopy to clipboardprint?

/*!40101 SET NAMES latin1 */;

成为

/*!40101 SET NAMES utf8 */;

/*!40101 SET NAMES latin1 */;

成为

/*!40101 SET NAMES utf8 */;

如果不幸你导出的是整个有很多不同编码的数据表的数据库,ok。请使用替换工具把原来有的各种编码都替换成你要的目的编码。我这里原来有utf8和latin1,所以只需要把Latin1全部替换成utf8即可。

之后新建一个要导入数据的数据库:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值