关于PHP下字符串乱码的问题,当一个页面存在两种编码的时候,无论你乍么选择都会出现乱码,那么如何才能解决这个问题呢?烈火小编给大家提供的办法:
一。首先按国际惯例,检查你的文件编码与数据库、页面编码是否一致。
二。如果“一”没有问题,那么就需要先判断字符串的编码了,我们只要判断一种就可以了,关于检测是否为utf8编码的问题,帮客之家以前发表过相关文章,但是不太好用,今天在网上找到一个比较完美的函数,代码如下:
Copy to Clipboard引用的内容:
[www.bkjia.com]
function is_utf8($liehuo_net)
{
if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$liehuo_net) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$liehuo_net) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$liehuo_net) == true)
{
return true;
}
else
{
return false;
}
}
现在再来说一下使用方法,高手就不用看了,因为一些初学者不懂得如何引入并使用这个函数,下边是方法。
一。将以上代码保存为独立文件,例如:liehuo_func_validt.php,保存到网站根目录,然后再引入到文件中,加入以下代码:
Copy to Clipboard引用的内容:
[www.bkjia.com]
require( "liehuo_func_validt.php" );
接下来判断代码,写在上述代码的下边:
Copy to Clipboard引用的内容:
[www.bkjia.com]
if(is_utf8($liehuo)==1)
{
$liehuo = iconv("utf-8","gbk",$liehuo);
}
这样就可以了。
二。将判断函数直接放在文件的顶部使用,再加入判断代码,比较啰嗦了,哈哈。多关注帮客之家,支持Liehuo.Net哦。
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn