【问题标题】:Special characters in response using Google PHP API client使用 Google PHP API 客户端响应的特殊字符
【发布时间】:2014-03-30 22:40:31
【问题描述】:

我正在使用 Google PHP API 客户端从 Youtube 检索视频信息。在某些视频的标题中有特殊字符。返回的不是“één”,而是“eÌeÌn”。我尝试了 utf8_decode,但没有运气。

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

【问题讨论】:

    标签: php api youtube character


    【解决方案1】:

    使用mb_detect_encoding() (http://www.php.net/manual/fr/function.mb-detect-encoding.php) 了解任何文本使用什么编码(并相应地对其进行解码/编码)。

    【讨论】:

    • 已经试过了。恢复了 UTF-8,但 utf8-decode 没有给我正确的字符。
    【解决方案2】:

    所以,这里有一些有趣的东西:

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

    您看到的输出可以用 UTF-8 中的字符串(分解了字素)来解释,该字符串 在某些时候被解释为代码页 1252 中的字符串(请注意在 Web 上,如果您未指定某种编码,则假定它在 CP1252 中)。它还必须丢弃无效的代码点,您不应该这样做,但无论如何。

    检查所有触及该字符串的内容。任何不支持 Unicode 的内容都需要替换为可以识别的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 2014-11-05
      • 2017-08-04
      • 1970-01-01
      • 2020-09-23
      • 2016-12-03
      相关资源
      最近更新 更多