关于PHP 字符串 编码问题

$str='手指固';
echo str_replace('腹','大',$str);

页面为GBK 编码,这样居然能替换。

查了一下各自的编码

指:D6B8
固:B9CC

腹:B8B9

指固:D6B8B9CC
腹:B8B9

这样替换出错,该怎么替换才最好?

阅读 4.1k
1 个回答

最直接的函数是 mb_ereg_replace 你把它不当正则用就行。

或者你也可以用iconv/mbstring库里的 mb_substr/iconv_substr 和 mb_strpos/iconv_strpos 来写一个针对多字节编码可以用的 mb_str_replace / iconv_str_replace 。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题