php查mysql数据出现中文乱码的解决办法------PHP做网站注意事项 外贸网站建设公司-天传网络

↑上一篇:外贸网站建设公司给力 2010年圣诞促销:设计外贸网站有机会拿台电M50HD MP4!
↓下一篇:如何接外贸订单?五个合适条件让你接到外贸订单 外贸网站建设公司-天传网络 外贸知识   

  外贸网站建设公司-天传网络在使用外贸网站Linux主机做网站注意事项中教过大家:很多PHP程序都要求二进制上传,上传PHP网站的时候最好使用Cuteftp或者FlashFXP。表面上看php和asp差不多,但是比asp强大,可以写类,可以封装一些功能,有面向对象开发的思想,php做网站在国外很流行,现在用PHP来做外贸网站设计是比较火的。而可能是因为备案问题,现在不少个人也想用PHP做中文网站了,因为总的来说外贸网站空间中linux(PHP用)要比Windows(ASP、ASP.NET用)平宜不少。而用PHP做网站------PHP做中文网站当然也有不少要注意的事,下面我们以实例说一说:php查mysql数据出现中文乱码的解决办法

  关于解决php mysql中文乱码问题的方法,网上有诸多的讨论。相信能够解决大部分的问题。
我遇到的情况有点特殊:
网站已经在运行,有一定的数据量,原来的文件和程序编码都是用的GBK,数据库用的utf-8,现在要把文件和程序的编码都转换成utf-8。
首先我把所有的文件编码和程序编码都转换成了utf-8,这个过程中没出现什么问题。
然后运行的时候,发现查询出来的数据都成了乱码,整了大半天也没解决。
网页上不是通过数据查询出来的汉字都能正确的显示,所以一定是查询数据的问题。
看到有人说mysql数据的Insert和Select使用的编码是不一样的,而我的程序对这一方面没有做过处理。
试着添加了一条新的纪录,发现查询出来是正常的编码。
偶想原来的文件都是GBK的,提交的数据是不是也存储成了GBK,看phpmyadmin中也都都是乱码。
按照这个思路,我写了个小程序,把含有中文的字段中的字符都转成utf-8,问题解决了,而且在phpmyadmin中看到的也是中文了。
现在把代码贴出来,分享一下:
<?php
//连接数据库
$link = mysql_connect('localhost', 'xxxx', 'xxxx');

if (!$link) {
die('数据库连接失败.' . mysql_error());
}
mysql_select_db("xxxx");

$sql="select * from table";
$result = mysql_query($sql) or die('数据库查询失败.'.mysql_error());

$oldresult=array();

$i=0;

while($tmp=mysql_fetch_array($result)){
$oldresult[$i][0]=$tmp["id"];
$oldresult[$i][1]=$tmp["title"];
$oldresult[$i][2]=$tmp["content"];
$oldresult[$i][3]=$tmp["tags"];
$i+=1;
}

foreach ($oldresult as $tmprs) {
$id=$tmprs[0];
$title=iconv("GBK","UTF-8",$tmprs[1]);
$content=iconv("GBK","UTF-8",$tmprs[2]);
$tags=iconv("GBK","UTF-8",$tmprs[3]);

mysql_query('set character_set_client = utf8');
mysql_query('set character_set_connection = utf8');
mysql_query('set character_set_results = utf8');

$sql="update table set title='".$title."',content='".$content."',tags='".$tags."' where id=".$id;

mysql_query($sql);
}
?>


php查mysql数据 乱码 外贸网站建设/外贸网站设计公司-天传网络关键词提示:php查mysql数据,中文乱码,解决办法,PHP做网站注意事项PHP做网站,注意事项,php查mysql,PHP中文乱码

修改时间:2010-11-29  点击次数:  
↑上一篇:外贸网站建设公司给力 2010年圣诞促销:设计外贸网站有机会拿台电M50HD MP4!
↓下一篇:如何接外贸订单?五个合适条件让你接到外贸订单 外贸网站建设公司-天传网络 外贸知识   
相关文章:
网友评论: