从 MySQL 3 数据库升级到 MySQL 4.1 导致乱码的一种解决方法 (080518更新)

作者:Wupei  |  发表时间:  |  所属分类:网站开发

(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

       mysql乱码解决方法图示1

2. 导入您的sql文件,选择文件字符集latin1

  mysql升级乱码解决图示2

OK完成了,试一下的 

ps: 虽然用phpmyadmin浏览数据库内容是乱码,但是程序读出,显示在网页上确实正确的 🙂 道理跟上面是一样的

Trackback from your site.

(2)条评论

  • wupei

    |

    嘿嘿,对呀,是导入之后的处理办法,道理一样的

    回复

  • Claymore

    |

    嘿嘿,这个问题以前我也碰到过,除了数据库默认的字符集的问题之外,如果以前的字段不是GBK,那么还要全部改过来。。。。

    回复

请在这里留言: