Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103728885
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Mysql/postgreSQL

2008-05-12 14:21:51

作者: Plahand  出自:
搞了几天了,mysql字符集的问题终于解决了!

mysql字符集的问题,相信很多同仁们抖遇到过,并且不一定能很容易地解决。今天,我把成功的经验分享给大家。

问题描述:

由于历史遗留的问题,mysql数据库需要做调整。由于前一任同事的“简单操作”,把4.0的版本下的data文件夹直接复制到了5.0版本下,数据库表面上能正常运行与显示,但是还是遇到了字符集显示出错的问题,并且在4.1及以上的版本中,默认以latin1存储的数据,在搜索中文的一些字或者词组时会发生查询错误,因此我们需要将默认字符集转换为gbk或utf8。

在转换之前,在网上搜索了很多同类的文章,但是许多的文章都是采来采去的,没太大的意义,网上已经有的方法就不再说了。我只说我的转化过程。

首先,mysqldump -uroot -p --default-character-set=latin1 --tables database > old.sql

然后,修改old.sql中所有的 DEFAULT CHARSET=latin1 为 DEFAULT CHARSET=utf8 (你准备转换的编码),其他地方不用变动

最后导入,mysql -uroot -p database
一切OK,完成了LATIN1向UTF8的转换,我的数据库环境为MYSQL5.1,注意:数据的到处最好用MYSQLDUMP,这样导出的结果不容易出错。这种修改方法,不用修改整个数据库的编码,其他默认为LATIN1的仍然可以继续使用。
阅读(335) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~