我正在使用Google PHP API客户端从Youtube中检索视频信息。在一些视频的标题中有特殊字符。而不是“één”,“eÌe”返回。我尝试了utf8_decode,但没有运气。
有没有人知道如何解决这个问题?
答案 0 :(得分:0)
使用mb_detect_encoding()
(http://www.php.net/manual/fr/function.mb-detect-encoding.php)了解用于任何文本的编码(并相应地对其进行解码/编码)。
答案 1 :(得分:0)
所以,这里有趣:
$ perl -e 'binmode(STDOUT, "utf8");' \
-e 'print "e\N{COMBINING ACUTE ACCENT}\n";' \
| iconv -c -f CP1252
eÌ
您看到的输出可以用UTF-8中的字符串解释(带有字母分解),在某些时候被解释为好像它是Codepage 1252中的字符串(注意在网上,如果你没有指定哪些编码是假设它在CP1252中)。它也必须抛弃无效的代码点,你不应该做,但无论如何。
检查触及此字符串的所有内容。任何不支持Unicode的东西都需要被替换为。