使用Google PHP API客户端响应特殊字符


Special characters in response using Google PHP API client

我正在使用Google PHP API客户端从Youtube检索视频信息。在一些视频的标题中有特殊的字符。返回"eÌeÌn",而不是"郁闷"。我试过utf8_decode,但没有成功。

有人知道如何解决这个问题吗?

使用mb_detect_encoding() (http://www.php.net/manual/fr/function.mb-detect-encoding.php)来了解任何文本使用的编码(并相应地解码/编码)

这里有一些有趣的东西:

$ perl -e 'binmode(STDOUT, "utf8");' '
       -e 'print "e'N{COMBINING ACUTE ACCENT}'n";' '
  | iconv -c -f CP1252
eÌ

您看到的输出可以用一个UTF-8格式的字符串(分解了字素)来解释,其中在某些地方被解释为好像是Codepage 1252中的字符串(注意,在Web上,如果您不指定编码是什么,则假定它在CP1252中)。它还必须抛出无效的代码点,这是不应该做的,但是无论如何。

检查所有与此字符串相关的内容。

任何不支持unicode的东西都需要被替换。