我正在尝试在页面上显示数据Feed.我们遇到了奇怪角色的编码问题.出于某种原因,在Feed中有U FFFD字符.并且htmlentities()不会转义字符,所以我需要手动替换它. (我使用的是
PHP 5.3)
我尝试过以下方法:
$string = str_replace( "\xFFFD","_",$string ); $string = str_replace( "\XFFFD",$string ); $string = str_replace( "\uFFFD",$string ); $string = str_replace("\x{FFFD}",$string ); $string = str_replace("\X{FFFD}",$string ); $string = str_replace("\P{FFFD}",$string ); $string = str_replace("\p{FFFD}",$string );
以上都不是.
看完这个页面 – http://php.net/manual/en/regexp.reference.unicode.php – 我不确定我做错了什么.我是否需要将UTF-8支持编译到PCRE中?
使用
preg_replace代替:
$string = preg_replace('@\x{FFFD}@u','_',$string);