【问题标题】:How to convert special characters to UTF-8?如何将特殊字符转换为 UTF-8?
【发布时间】:2012-03-09 15:49:01
【问题描述】:

当我从 MySQL 数据库中提取数据时,一些输出包含特殊字符, 例如打开时emacs 它解码为\240\346

在 UTF-8 终端中显示时,特殊字符显示为

所以使用的编码接缝只使用每个字符 1 个字节。

我可以例如看到\346 应该是æ

问题

Perl 有可以将这些特殊字符编码为 UTF-8 的模块吗?

【问题讨论】:

标签: perl


【解决方案1】:

使用Encode::decode 将您的数据从任何编码解码为 Perl 的内部格式。

然后,在将数据写入文件时,设置'utf8' 层以使数据以UTF-8 格式写入。

use Encode;

my $data_from_database = ...;

my $perl_data = decode('ISO-8859-1', $data_from_database);

binmode STDOUT, ':utf8';

print $perl_data;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多