我对preg_replace
和字符集有一个恼人的问题。我连续做了几个preg_replace
但不幸的是第一次preg_replace插入任何像äöüß
这样的特殊字符时我在后续调用中得到PREG_BAD_UTF8_ERROR
。
除了插入的特殊字符显示得很好之外,它们只会打破任何后续的preg_replace
调用。是preg_ utf-8吗?
正在研究的文本preg_replace
来自MySQL数据库,替换是在php文件中使用来自MySQL的值制作的。 mb_detect_encoding()
在第一次使用特殊字符替换之前对ASCII
说UTF-8
,然后会检测到{{1}},因此它会发生变化,这可能就是问题所在。
为了您的信息,我正在使用iso-8859-1编码(PHP,MySQL,meta-charset)。此外,我对替换字符串的htmlentities有一个解决方法,目前正在使用。
关于如何解决它的任何想法?