mysql4数据导入mysql5乱码问题解决办法
mysql数据库乱码问题在4.0之前的版本中是不存在的,都默认为latin1。
自从有了mysql5,mysql的乱码问题就成了mysql最让人头疼的问题之一。
数据库导入导出乱码往往是因为编码格式不对应造成的,常见会在以下编码格式之间出现问题:gbk、gb2312、ut8、latin1、big5。
由于一般的虚拟主机代理商提供的数据库管理工具都是phpmyadmin,所以大家还是需要掌握它的操作技巧,以免事倍功半。
从mysql4.0的数据库到mysql5的数据库迁移,使用了这样的办法:
首先,phpmyadmin链接校对编码格式必须要和源数据库的编码格式一致。源数据库导出的时候,选中所有表(切忌不能选中整个数据库)来备份。
然后使用文本编辑器查看导出的sql文件,如果其中没有乱码,说明我们已经顺利通过第一步,数据库导出正常了。
接着我们再新建一个和当前数据库编码格式相同的数据库,使用phpmyadmin导入程序或者sql语句形式,进行恢复。
PHP插入中文数据到MYSQL5出现乱码问题
MYSQL在引入多语言的同时,也造成插入中文会出现乱码,而且无法用编码解决
比如说: html页面采用gb2312编码,表采用utf8编码,那么是应该set names utf8,还是gb2312呢
这个问题我测试过
要发送set names gb2312,而不是utf8
1、建立数据表的时候将编码类型设置为gb2312_chinese_ci
2、在连接数据库的页面中加入一行mysql_query("SET NAMES 'gb2312'",$link);或 mysql_query("SET NAMES 'gb2312'"); 例:
$db_host="localhost";
$db_user="root";
$db_password="password";
$db_name="test";
$link=mysql_connect($db_host,$db_user,$db_password);
mysql_query("SET NAMES 'gb2312'",$link);
$db=mysql_select_db($db_name,$link);
在PHPmyadmin中把该数据库的整理也设置成gb2312,就可以了!(好象不设置也可以)