php中文乱码,php mysql 中文乱码,phpadmin 乱码的解决方案
运行环境:
MySQL(服务器版本: 5.0.51b-community-nt)
phpMyAdmin-2.11.6
目的:用PHP语言插入数据到Mysql
插入代码如下
/**
* @author 杨晓朔
* @copyright 2010
*/
$con = @mysql_connect("localhost","root","") or die ("链接错误");
@mysql_select_db('test',$con) or die ("打开数据库失败");
$sql = "insert into user(id,name) values('1','杨晓朔)";
$result = @mysql_query($sql,$con) or die ("执行失败");
?>
数据库结构:
数据库名称:test
数据表:user
id
name
在插入过程中出现乱码问题
千万记住不要按照网上说的没事改My.ini;
解决办法如下:
1、打开phpmyadmin(您对应的版本)\libraries目录下的select_lang.lib.php文件
找到全局变量mysql_charset_map对应的数组把
'gb2312' => 'gb2312', 更改为
'gb2312' => 'latin1'
把对应的'zh-gb2312'=> array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh', '中文'),
改为
'zh-gb2312-utf-8' => array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh', '中文'),
最后的 '中文' 原来对应的是’中文' 你可以把它改成中文,来区分编码,
同样我们把utf-8对应的也区分一下
'zh-utf-8'=> array('zh|chinese simplified', 'chinese_simplified-utf-8', 'zh', '中文UTF-8'), //可不更改
2、打开phpMyadmin把连接校对改为:latin1_swedish_ci;
然后把对应的Language改为 "中文-Chinese simplified"
改为之后会显示
验证一下我们的操作,如果你原来你原来就有数据库的话,请对应调整一下编码(如果无法调整,请重新建立一个数据库以及数据表),我对应的表编码对应如下:
运行代码,执行结果如下:
phpMyadmin执行结果:
控制台执行结果:
全部正确显示为中文。如果有什么不明白的,请与我联系QQ:53738736,大家共同探讨,:)