程序识别MySQL数据库中文的问题

由于某些原因需要将原来电脑上的数据导入到新电脑上的数据库中,出现了中文识别乱码的问题。由于之前程序读取原有数据库中数据正常,程序没有修改,确定是数据库的问题导致乱码。
安装好mysql数据库及navicat之后导入数据
navicat中显示中文为乱码,在界面上进行如下设置:
选择“连接属性”,将“高级”下“使用mysql字符集”选项前的勾去掉,在navicat中查看中文限制正常
这种改法是治标不治本
在程序中读出来还是不对
怀疑是数据本身有问题,回忆到处导入数据的过程
1)将数据导出到Excel文件
2)由于数据没有表结构,手动修改表结构(右键-》设计表)
3)通过转存SQL文件, 中间可能破坏了表格的内部结构
尝试修改了表结构的字符集代码
ENGINE=InnoDB AUTO_INCREMENT=10021 DEFAULT CHARSET=latin1;
尝试了修改数据库的配置文件my.ini
default-character-set=utf8
character-set-server=utf8
都没有成功

最后的解决办法是:
重新在老硬盘上按照“转存sql”的方法转存数据库中的表数据
拷贝到新电脑上,在navicat中连接数据库,选择“运行SQL文件”,从程序中读取中文正常

总结:确定是数据的问题之后,应该想到可能数据本身有问题。
 由于转存文件后又手动修改表结构,导致表的字符格式混乱,浪费了太多时间去解决这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值