为什么php的str_replace用特殊的字符搞乱了字符串

时间:2009-10-05 00:26:19

标签: php string

为什么php的str_replace和许多其他字符串函数会使用特殊字符('é''à'...)来破坏字符串?以及如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

str_replace不支持多字节(unicode)。使用相应的mb_ *函数

在您的位置mb_ereg_replace听起来像是正确的选择。你也可以使用PCRE正则表达式函数并指定X标志

答案 1 :(得分:1)

PHP不是从头开发到本机支持UTF8。替代指定字符文字,指定替换中的实体引用/十六进制代码可能很有用,例如\ x3094并替换它,我认为它更一致地支持。

虽然有更多代码可以帮助您查看手头的直接问题。