五月端午,吃粽子,只可惜身在江西,这里的粽子都是带肉的,我滴个天,肉粽子,在家的时候从来没听说过,尝过其味,感觉极为难吃啊,好想念家里的蜜枣甜粽子啊,口水ing……
!= 以上可视为废话 :目 ========
在学习PHP的过程中,真颇是艰辛,前些阵子就被自己的粗心大意害得很惨,自己在那里莫名其妙了好几天,最后找到的原因竟然是把语句中的“WHERE”写成“WHRER”,囧……无地自容。
这次碰到的是PHP写入数据到MySql,在PhpMyAdmin中浏览,呈乱码的问题。我制作的是一个小留言板,所有页面存储时采用的编码均为“utf8”,PhpMyAdmin里面所有有关编码设置也都设置成了 utf8_general_ci ,输入数据以及读取显示数据都没有问题,唯独进入数据库浏览的时候,会出现一大堆乱码,看来是在数据写入的时候编码出现了问题。
在网上的解决方法,最有效的就是在每次数据连接后的代码后添加 mysql_query(“SET NAMES ‘utf8′”); (当然我这里用的编码方式是“UTF8”),如下代码所示:
<========== 代码开始 ==========>
$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 ‘utf8′”,$link); //这里的$link可有可无,承接上面的$link。
$db=mysql_select_db($db_name,$link);
$query=”select * from user”;
$result=mysql_query($query);
<========== 代码结束 ==========>
小小总结一下:以“utf8”编码方式举例,若是页面出现了乱码或其他显示不正常的情况,首先检查一下你所存储时用的是不是“utf8编码”;然后看看页面里面有没有指定编码,如HTML页面中的 <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8” />,PHP页面中的 header(“Content-Type:text/html;charset=utf-8“); 。若是数据库中出现了显示乱码的问题,就要检查数据是否按照“utf8”编码方式写入的,利用上面给出的方法在每个要写入数据或显示数据连接数据库后都进行一次mysql_query(“SET NAMES ‘utf8′”,$link); 即可解决。
问题是解决了,但是非得每次都要输入它吗?在网上还没有找到其他更好的方法,恩,继续研究吧……
Leave Ur Comments
太棒了,你是抢到沙发的第一人!