标题
[mysql/4.1/字符集/乱码]MySQL 4.1 中文亂码的问题
clq
浏览(0) +
2009-06-20 18:02:49 发表
编辑
关键字:
[mysql/4.1/字符集/乱码]MySQL 4.1 中文亂码的问题
先来看一篇文章
--------------------------------------------------
最近要将 MySQL 4.0 升级到 MySQL 4.1 ,发现了中文亂码的问题,希望以下见解对大家有用。
1. MySQL 4.1 在文字上有很大改进,它有了 Character Set 与 Collation 的慨念。
2. 在 MySQL 4.0 ,一般的程式都会将文字以拉丁文 ( latin) 来储存,就算我们输入中文字,结果仍是放在以拉丁文设置的文字栏里头,这对 MySQL 4.0 与以 MySQL 4.0 为基楚的程式来说,并不会有问题。
3. 可是 MySQL 4.1 的系统编码是预设用 UTF-8 的,当要 restore MySQL 4.0 的 backup 档到 MySQL 4.1 时,乱码就出现了。原因在于 MySQL 4.1 将 latin 码转换过来,而后转换是并不完全完美的,这导致了出现少量文字出现乱码现象。
4. 要解决这乱码问题并不难。首先,在 MySQL 4.0 备份时,先将所有文字栏变成 binary 类型,然后进行正常备份。第二步,可在 MySQL 4.1 里将刚才的备份 restore。最后,将较早前所变更到 binay 类型的文字栏,再次复原到文字类型。这样中文编码的问题就应该可以完全解决。
5. 将文字栏变更到 binay 类型时,必需设定 binary 栏的长度大过或等于 (>=) 文字栏的长度,否则资料会失去。
6. 另外,经这样升级的 MySQL 数据库,在 MySQL 4.1 里将会正常工作,就算是怎样 backup 与 restore 都不会再有乱码问题。
clq
我的任务是要将 4.0 的数据转换为 4.1 的,如果只是将字段为 char/varchar 的改为 binary 类型,那么多数程序是没问题的.但 java/jsp 程序不行.而且字段类型也变以,交不好
完善转换的方法是先将 char/varchar 的改为 binary . 然后设置表的字符集为 gbk 后再把字段类型改回来! perfect!
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.