<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="PHP中判断字符串是UTF-8编码还是GBK编码：mb_detect_encoding函数使用方法和示例详解" id="card1">
<p> 游客</p><p>
标题:PHP中判断字符串是UTF-8编码还是GBK编码：mb_detect_encoding函数使用方法和示例详解<br/>
正文:<br/>
php中可以使用 mb_detect_encoding() 函数来判断字符串是什么编码的。当在php中使用mb_detect_encoding函数进行编码识别时，很多人都碰到过识别编码有误的问题，例如对与GB2312和UTF-8，或者UTF-8和GBK(这里主要是对于cp936的判断)，网上说是由于字符短时mb_detect_encoding会出现误判。代码如下： $encode = mb_detect_encoding($keytitle, array(&amp;quot;ASCII&amp;quot;,&amp;quot;UTF-8&amp;quot;,&amp;quot;GB2312&amp;quot;,&amp;quot;GBK&amp;quot;,&amp;quot;BIG5&amp;quot;));if($encode == &amp;quot;UTF-8&amp;quot;){  $keytitle = iconv(&amp;quot;UTF-8&amp;quot;,&amp;quot;GBK&amp;quot;,$keytitle);}这段代码的作用是检测字符串的编码是否UTF-8，是的话就转换为GBK。可是当 $keytitle = &amp;ldquo;%D0%BE%C6%AC&amp;rdquo;;时。检测结果却是UTF-8.这个bug其实不算是bug，写程序时也不应当过于依赖mb_detect_encoding，当字符串较短时，检测结果产生偏差的可能性很大。解决办法，代码如下: $encode = mb_detect_encoding($keytitle, array(&amp;quot;ASCII&amp;quot;,&amp;quot;GB2312&amp;quot;,&amp;quot;GBK&amp;quot;,&amp;quot;UTF-8&amp;quot;);三个参数分别是：被检测的输入变量、编码方式的检测顺序(一旦为真，后面自动忽略)、strict模式对编码检测的顺序进行调整，将最大可能性放在前面，这样减少被错误转换的机会。一般要先排gb2312，当有GBK和UTF-8时，需要将常用的排列到前面。PHP字符串编码的转换和判断GBK 和 UTF-8 编码的转换是一个非常恶心的事情，比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的编码。有两个库函数能够支持编码的转换，通常能够想到的就是 iconv 函数，使用起来也非常爽： iconv('GBK', 'UTF-8//IGNORE<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2116&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2116&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2116&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2116&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2116&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2116">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2116">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>