我有一个包含Unicode和ASCII字符的字符串。
我可以使用utf8_decode
将ASCII转换为Unicode字符,但它也会将unicode转换为unicode字符。如何在混合字符串中仅将ASCII字符过滤或转换为Unicode? p>
例如:
utf8_decode(& #225; rỉ);
~> á rỉ
答案 0 :(得分:4)
两件事。 ASCII字符为7位,0x00至0x7F。因此,如果您有一个Unicode字符串,则不需要转换ASCII字符,因为它们在Unicode中是相同的...
现在,你的á是0xE1,因此它不是ASCII而是ISO Latin 1
。并且你不能在一个字符串中有两个编码(或者你是狗屎......)。所以你需要的是从ISO Latin 1转换为UTF-8。
答案 1 :(得分:1)
答案 2 :(得分:-1)
您可以使用$string = iconv('ASCII//TRANSLIT','UTF-8', $string);