2012-08-12 28 views
1

我尝试做以下行str_replace函数:str_replace函数这个角色:o

team 4 -1ööööö57167168 

我已经能够做到这一点,在过去只是这样做:

str_replace("ööööö", " ",trim($line)); 

理想的结果应该是team 4 -1 57167168

但是,现在我试图在Codeigniter应用程序中执行此操作,它无法替换它,我不确定要尝试什么。

这是Codeigniter的编码配置问题吗?我如何才能正确替换?

+0

是否使用utf-8转义工作?即''str_replace(“\ xC3 \ x96”,“”,trim($ line));' – cegfault 2012-08-12 22:35:17

+1

你要[utf8一路通过](http://stackoverflow.com/questions/279170/utf-8 -all-the-way-through)?你把文件保存为utf-8吗?这是否回声bin2hex('ööööö');'不给你'c3b6c3b6c3b6c3b6c3b6'? – Esailija 2012-08-12 22:40:07

+0

@cegfault nope,似乎没有工作:( – Motive 2012-08-12 22:40:14

回答

-3

使用utf8_encode()和utf8_decode(),PHP不是UTF8本地语言!

+0

这是非常有害的建议,因为不需要这些转换(你可以使用utf8),并且你将失去99.99%的unicode字符,因为ISO-8859-1不能编码它们。例如,['utf8_decode(“€”)'给出'?'](http://codepad.viper-7.com/CisDx3),并且无法从该问号('?')中知道原始字符是' – Esailija 2012-08-12 22:59:42

1

检出多字节字符串函数http://php.net/manual/en/ref.mbstring.php,特别是mb_str_replace。

请注意,ö可以用多个字符集表示,因此请确保您匹配正确的字符集!

+0

FWIW',如果两个字符串都是utf-8,那么'str_replace'在这里可以正常工作。 – Esailija 2012-08-12 22:48:04