您的位置:首页 > 编程语言 > PHP开发

PHP判断字符串编码是否utf8并转换的方法

2011-03-09 11:51 801 查看
关于PHP下字符串乱码的问题,当一个页面存在两种编码的时候,无论你乍么选择都会出现乱码,那么如何才能解决这个问题呢?烈火小编给大家提供的办法:

一。首先按国际惯例,检查你的文件编码与数据库、页面编码是否一致。

二。如果“一”没有问题,那么就需要先判断字符串的编码了,我们只要判断一种就可以了,关于检测是否为utf8编码的问题,烈火网以前发表过相关文章,但是不太好用,今天在网上找到一个比较完美的函数,代码如下:

Copy to Clipboard引用的内容:[www.liehuo.net]

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.liehuo.net]

require( "liehuo_func_validt.php" );

接下来判断代码,写在上述代码的下边:

Copy to Clipboard引用的内容:[www.liehuo.net]

if(is_utf8($liehuo)==1)

{

$liehuo = iconv("utf-8","gbk",$liehuo);

}

这样就可以了。

二。将判断函数直接放在文件的顶部使用,再加入判断代码,比较啰嗦了,哈哈。多关注烈火网,支持Liehuo.Net哦。

文章源自:烈火网,原文:http://www.liehuo.net/a/view/30414.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: