怎么在PHP中对字符串编码进行判断和转换

介绍

这篇文章给大家介绍怎么在PHP中对字符串编码进行判断和转换,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

,代码如下:


iconv (& # 39; gbk # 39; & # 39; utf - 8//忽略# 39;,& # 39;& # 39;);//将字符串由GBK编码转换为utf - 8编码

但iconv只能解决编码预先知道的情况,如果字符串编码未知,则需要先探测其编码,这时可能会用到mb_string扩展库:

代码如下:


mb_detect_encoding (& # 39; & # 39;);

可是mb_detect_encoding存在一个硬伤,经常出现判断不准确的情况,或许这样就可以解决:

代码如下:


//使用iconv转换并判断是否等值,效率不高
函数is_utf8 (str) {
,,,if ($ str===iconv (& # 39; utf - 8 # 39;, & # 39; utf - 8//忽略# 39;,str美元)){
,,,,,,,返回& # 39;utf - 8 # 39;;
,,,}
}
//多种编码的情况
函数detect_encoding (str) {
,,,foreach(数组(& # 39;gbk # 39; & # 39; utf - 8 # 39;)美元v) {
,,,,,,,if ($ str===iconv (v, v美元。& # 39;//忽略# 39;,str美元)){
,,,,,,,,,,,返回$ v;
,,,,,,,}
,,,}
}

通过以上方式得到字符串编码信息后,就可以利用iconv或mb_convert_encoding来转换编码了。

关于怎么在PHP中对字符串编码进行判断和转换就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么在PHP中对字符串编码进行判断和转换