【问题标题】:special characters with Net::Twitter::Lite带有 Net::Twitter::Lite 的特殊字符
【发布时间】:2013-08-08 17:04:21
【问题描述】:

我尝试将 ü、ä、ß、à 等字符发送到 Twitter。如果我在脚本中使用 unicode 字符,它们在 twitter 中就会出错。如果我使用 HTML(这在 twitter 的网络界面中是可能的,并且以前可以使用)我现在看到 ü而不是帖子中的“ü”。是否有参数或我必须设置的东西?一些编码/解码的调用?我正在使用:

use Net::Twitter::Lite::WithAPIv1_1;

【问题讨论】:

  • “他们在推特上出现错误”——这是什么意思?你能举一个明确的例子吗?另外,您是在将 unicode 字符串传递给模块,还是之前对它们进行了编码?
  • 不知道有没有关系,但是我在试用模块的时候发现了至少一个编码相关的问题。见rt.cpan.org/Ticket/Display.html?id=87672
  • 我放弃了 HTML 尝试并重写了我的整个代码以使用 unicode。然后我加载了Encode 并调用了$to_twitter = decode("utf-8", $to_twitter);。这行得通。

标签: html perl twitter unicode


【解决方案1】:

我发现自己经常检查 perl 模块的测试套件,因为它是很好的示例来源。

Net::Twitter 需要解码的字符,而不是编码的字节所以,发送 将 utf8 编码为 Net::Twitter 将产生双重编码数据。

来源:https://metacpan.org/source/MMIMS/Net-Twitter-Lite-0.12006/t/unicode.t

【讨论】:

    【解决方案2】:

    试试

    use encoding 'utf8';
    

    在脚本的开头。有时这是许多 utf8 问题的解决方案。

    【讨论】:

      猜你喜欢
      • 2014-07-22
      • 2023-03-14
      • 1970-01-01
      • 2012-10-06
      • 2018-11-14
      • 2012-09-15
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多