快速业务通道

mysql 4,mysql 4.1,mysql 数据库中文问题

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-17

MySQL 4的数据库,如果要迁移到MYSQL 4.1去,是会有中文编码问题的,有关的文章介绍太
多了,GOOGLE一下就很多,关键是mysql 4.1开始支持多编码了。今天尝试一下迁移和插入读取等问题,发现一些规律和问题,总结如下
     我机器是win2000 server,装了mysql 4,mysql 4.1 和mysql 5,用的是phpmyadmin 2.70 pl2.
首先,我用phpmyadmin 将mysql 4的一个表导出另存为abc.sql文件了。
之后,我先恢复到mysql 5中去,同样用phpmyadmin,输入http://localhost/phpmyadmin5/index.php(我在机器上
配置了三个phpmyadmin,都是同一版本,只不过分别连接mysql 4,mysql 4.1,mysql 5而已),注意在导入
功能时,选择编码为GB2312(这步很重要!),之后成功导入数据表里,
观察一下,注意此时该数据表的每一列的“整理”一项都是gb2312_chinese_ci, 而phpmyadmin设置的首页
里,mysql字符集合是uft-8,连接校对也是uft-8,同时,在my.ini中,设置
[mysqld]
character_set_server = utf8
[mysql]
default-character-set =utf8
       这时,可以看到数据库用phpmyadmin看,不存在中文乱码问题了。

  接下来,我们在PHP程序中,就可以正常象以前写CRUD程序那样,对数据库进行读取,增加等操作,是没有中文编码问题的哦

      再接下来,我们用同样的方法,将数据表恢复到MYSQL 4.1数据库中去,注意,也是在导入时
选编码为GB2312,但发现PHPMYADMIN有一个出错,但不用理会,发现表还是导进去了
同样也是没中文问题,但注意,在用PHP程序处理时,必须象这样处理,否则有乱码问题
<?
header("content-type:text/html; charset=uft-8");
mysql_query("SET NAMES utf8;");

接下来是正常的MYSQL语句操作了

.....
?>


出处:jackyrong BLOG

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号