MYSQL4,MYSQL4.1,MYSQL数据库中文问题
类别: 数据库教程
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语句操作了
.....
?>
多了,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语句操作了
.....
?>
-= 资 源 教 程 =-
文 章 搜 索