首页 > PHP > GBK编码引发的PHP脚本错误解析

GBK编码引发的PHP脚本错误解析

来源:原创 作者:1 分类:PHP 阅读:513 日期:2014-05-19

0x5C导致脚本语法错误

GBK编码环境下的如下PHP代码:<?php echo "洪"; ?>会引发php的语法错误。

因为在GBK环境下,“玕”的编码为"0xAB 0x5C",0x5C为ascii中的'\'反斜线编码。所以导致"玕"后面的"被转义,进行引发php脚本的语法错误。

0x7C导致的乱码问题

如下PHP代码:

<?php 
$result = explode("|", "滕华弢|海清"); 
var_dump($result);
?>

输出结果:

array(3) {
  [0]=>
  string(5) "滕华?
  [1]=>
  string(0) ""
  [2]=>
  string(4) "海清"
}

究其原因,由于"弢"的GBK编码为"0x8F 0x7C", 而"|"的ascii值也为"0x7C"。这样就导致上述输出结果的产生。

解决方案:可以先将待分割的字符串转换为UTF-8编码,然后explode,取得结果后再转换回来。

万花筒儿童故事

 

热门文章 更多>

微信扫一扫,关注技术十日谈