欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql数据库的乱码问题

程序员文章站 2022-04-13 20:10:10
...

mysql数据库迁移的时候遇到问题最多一般都是编码问题。从3.x版本迁移到4.x版本,4.x升级到5.x版本,或者同版本之间都会遇到。使用外国开源软件比如wordpress和movabletype架设blog的朋友一定深有体会。网上已经有很多介绍各种对应解决方法的文章,用搜索引擎

mysql数据库迁移的时候遇到问题最多一般都是编码问题。从3.x版本迁移到4.x版本,4.x升级到5.x版本,或者同版本之间都会遇到。使用外国开源软件比如wordpress和movabletype架设blog的朋友一定深有体会。网上已经有很多介绍各种对应解决方法的文章,用搜索引擎就可以搜到。我的情况是这样的,mysql数据库里面,安装的时候是latin编码,后台管理程序和前面生成的页面都是正常的编码,但是用phpmyadmin管理数据或者导出备份的时候都是乱码。

解决方法非常简单:

第一步

mysqldump -u username -h somehost -p --compatible=mysql40 db_name > temp.sql

第二步:

用phpmyadmin清空数据库并设置数据库整理为utf8_general_ci

第三步

mysql -u username -h  somehost  -p --default-character-set=utf8 db_name 

当然如果你有root这样的牛账号,可以直接看小桥的文章。这里compatible=mysql40参数的意思是导出的数据库兼容4.0.x版本以及以下3.2.x版本的mysql数据库。至于为什么采用这个参数,看这篇文章http://www.elaguan.net/article.asp?id=119,有点长,而且……越看越晕。然后在相关web程序连接数据库query之前要记得先执行一下:SET NAMES 'utf8'。

另外,我刚刚试着安装了movabletype的beta4版本,程序界面上确实非常web2.0,渐变的背景,圆润的按钮,尤其是那个“Write Entry”令人印象深刻。由于是beta版本,相对于精致且稳定的3系列版本,稍微有点糙了。喜欢赶潮流的同学可以不用考虑立即升级安装(安装前记得备份数据),不喜欢瞎弄的同学还是出稳定版本的mt4以后吧,或者继续用mt3。