登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: [mysql/4.1/字符集/乱码]MySQL 4.1 中文亂码的问题     [回主站]     [分站链接]
标题
[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
2009-6-20 18:06:12 发表 编辑

我的任务是要将 4.0 的数据转换为 4.1 的,如果只是将字段为 char/varchar 的改为 binary 类型,那么多数程序是没问题的.但 java/jsp 程序不行.而且字段类型也变以,交不好

完善转换的方法是先将 char/varchar 的改为 binary . 然后设置表的字符集为 gbk 后再把字段类型改回来! perfect!


总数:1 页次:1/1 首页 尾页  
总数:1 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1