MySQL中文乱码,phpmyadmin乱码,php乱码产生原因及其解决方法
/////////////////////////////////////////////////////////////////////////////////
要解决乱码问题,首先必须弄清楚自己数据库用什么编码。如果没有指明,将是默认的latin1。
我们用得最多的应该是这3种字符集 gb2312,gbk,utf8。
那么我们如何去指定数据库的字符集呢?下面也gbk为例
/////////////////////////////////////////////////////////////////////////////////
以数据库mysqlcode为例
CODE:
<?php
//php爱好者站教程 http://www.phpfans.net
$conn = mysql_connect("localhost","root","");
mysql_query("set names 'gbk'");//这就是指定数据库字符集,一般放在连接数据库后面就系了
mysql_select_db("test");
$sql = "select * from mysqlcode";
$result = mysql_query($sql,$conn);
?>
如果我们将mysql_query("set names 'gbk'");注释掉,肯定时乱码
加上那句又正常了
注意: set names 必须在连接数据库之后,执行sql语句之前!
一句话 你数据库用什么编码,在对数据库操作之前就set names '你的编码';
ps:页面申明编码:在HTML代码HEAD里面,可以用<meta http-equiv="Content-Type" content="text/html; charset="XXX" />来告诉浏览器网页采用了什么编码,目前中文网站开发中主要用的是GB2312和UTF-8两种编码。