首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >preg_replace PREG_BAD_UTF8_ERROR

preg_replace PREG_BAD_UTF8_ERROR
EN

Stack Overflow用户
提问于 2013-11-21 02:13:47
回答 1查看 1.1K关注 0票数 3

我对preg_replace和字符集有一个恼人的问题。我连续做了几个preg_replace,但不幸的是,当preg_replace第一次插入像äöüß这样的特殊字符时,我在随后的调用中得到了PREG_BAD_UTF8_ERROR

除了插入的特殊字符可以很好地显示之外,它们还会中断任何后续的preg_replace调用。preg_是否仅限utf-8?

preg_replace正在处理的文本来自MySQL数据库,也是用MySQL中的值在php文件中精心制作的。在第一次用特殊字符替换之前,mb_detect_encoding()会为文本指定ASCII,然后它会检测到UTF-8,所以它会发生变化,这可能就是问题所在。

作为参考,我正在使用iso-8859-1编码(PHP、MySQL、元字符集)。此外,我有一个替代字符串上的htmlentities的变通方法,目前正在工作。

你有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2013-11-21 03:44:34

您正在寻找的可能是mb_ereg_replace。它可以处理多字节编码,并且在不同的编码方式下应该可以很好地执行。请务必将mb_regex_encoding与它一起使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20103692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档