mysql - 如何成功地将 UTF-8 文本从 MySQL 发布到 Twitter

标签 mysql perl twitter character-encoding

我有一些 UTF-8 格式的文本。我将其放入 MySQL 数据库,整理 utf8_general_ci,然后通过 Net::Twitter 将其自动发布到 Twitter。

但是当我发布它时,即使 Twitter 本身似乎期望使用 UTF-8,通过输入页面中的内容类型,我得到了当 UTF-8 文本被误解时你得到的那些人工制品:é comes例如,输出为 É。

那么……这是哪里出了问题?我怎样才能确保它使旅行完好无损?

  • 设置我的脚本以某种方式将所有文本视为 UTF-8?
  • 确保我以 UTF-8 格式从数据库中提取它?
  • 告诉 Net::Twitter 它以 UTF-8 格式发布?

最佳答案

您可能需要启用 mysql_enable_utf8打开数据库连接时的属性:

my $dbh = DBI->connect("DBI:mysql:database=test;host=localhost",
                       "user", "password",
                       { mysql_enable_utf8 => 1});

这将告诉 Perl 从数据库中检索到的字符串是 UTF-8 编码的。

关于mysql - 如何成功地将 UTF-8 文本从 MySQL 发布到 Twitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4764105/

相关文章:

multithreading - 为什么事先调用readdir时Perl线程不起作用?

r - 推特和 ROAuth

json - 在Hive中创建推文表时HDFS文件匹配错误

mysql - laravel 5 Eloquent 左连接

php - 增加数据库中的行数

mysql - 无法使用终端连接登录mysql数据库

mysql - 无法连接到 docker 镜像内的 MySQL

perl - 在没有 CPAN 的情况下安装 Perl 模块

regex - Perl - 从文本文件中解析 block

java - 使用 Twitter4j 发布 Twitter 线程