从 MySQL 3 数据库升级到 MySQL 4.1 导致乱码的一种解决方法 (080518更新)
(08年5月18日更新)本方法适合服务器上为mysql3,导出文件,然后导入到本地的mysql4中,如果出现问题可以看看这里
由于自己的空间换了一下,数据库的版本就给升级了…
但是转移的工作是由官方完成,未出现任何异常…(有一个小小的.htaccess问题) 传说中的数据库乱码未出现
这会本地升级数据库,却遇到了乱码的麻烦,整得挺郁闷
但是经过没多长时间还是解决了,嘿嘿,共享在这里
数据库升级,乱码问题就是字符集问题,就是程序从数据库提取字符过程中断字节错误…
mysql3升级到mysql4,mysql4的数据库可以选择字符集了,而mysql3就一种字符集latin1(ISO_8859_1),这样麻烦就来了,如果选择字符集不当,就会出现乱码
相关的理论网上还有很多,大家搜一搜便知,就不在这里赘述
我的环境版本:
Windows XP IIS5.1 (apache_2.0.63-win32-x86-no_ssl.msi 测试未通过,不可以使用此方法 详见这里)
mysql-3.23.58-win -> mysql-4.1.22-win32
phpMyAdmin-2.11.3
再做处理之前,请备份…版本号不一致可能会出现意外… 🙁
小理论: 因为mysql3只有一个字符集,那就在mysql4上仿照该字符集即可
开始导入处理:
1. 创建 latin1中的任意一个字符集 的数据库(经过测试)
ps: 创建数据库默认字符集是latin1_swedish_ci
2. 导入您的sql文件,选择文件字符集latin1
OK完成了,试一下的
ps: 虽然用phpmyadmin浏览数据库内容是乱码,但是程序读出,显示在网页上确实正确的 🙂 道理跟上面是一样的
Trackback from your site.
(2)条评论
wupei
| #
嘿嘿,对呀,是导入之后的处理办法,道理一样的
回复
Claymore
| #
嘿嘿,这个问题以前我也碰到过,除了数据库默认的字符集的问题之外,如果以前的字段不是GBK,那么还要全部改过来。。。。
回复