如何在php中用''替换Ê?

时间:2009-07-10 15:38:18

标签: php string character-encoding

str_replace('Ê','',$line);

不工作。是否有一些特殊的字符串代表?

5 个答案:

答案 0 :(得分:3)

您需要考虑要操作的字符串的编码。如果没有使用与上面声明的字符串相同的字符编码进行编码,则需要在两种编码之间进行转换。

最常见的错误是数据或文件采用UTF-8编码,另一种采用ISO 8859-1编码。

答案 1 :(得分:2)

目前尚不清楚你是否知道这一点,但str_replace不能“就地”工作,它会返回一个新字符串,所以你真正需要的就是

$line=str_replace('Ê','',$line);

另一种可能性是你正在研究一种结合了变音符号的Unicode,它实际上是两个unicode字符--E和旋律变音符号。

答案 2 :(得分:0)

尝试使用preg_replace:

$line = preg_replace('/Ê/ui', '', $line);

答案 3 :(得分:0)

我认为这是多字节字符,所以请尝试mb functions

答案 4 :(得分:0)

我必须先将线路转换为UTF-8。

mb_convert_encoding($line, "UTF-8")

所以我最终得到的代码是:

$line = str_replace('Ê','', mb_convert_encoding($line, "UTF-8"));

回答我自己的问题只是为了获得“解决方案”而不是评论。谢谢Gumbo。