【发布时间】:2011-03-03 15:32:48
【问题描述】:
我有一个正在扩展到英国的应用程序,我需要添加对 Latin-9 Unicode 的支持。我做了一些谷歌搜索,但没有发现关于这个过程涉及什么的可靠信息。有什么建议吗?
这是一些代码(只是 Unicode 的部分)
use Unicode::String qw(utf8 latin1 utf16);
# How to call
$encoded_txt = $self->unicode_encode($item->{value});
# Function part
sub unicode_encode {
shift() if ref($_[0]);
my $toencode = shift();
return undef unless defined($toencode);
Unicode::String->stringify_as("utf8");
my $unicode_str = Unicode::String->new();
# encode Perl UTF-8 string into latin1 Unicode::String
# - currently only Basic Latin and Latin 1 Supplement
# are supported here due to issues with Unicode::String .
$unicode_str->latin1( $toencode );
...
任何帮助都会很好,谢谢。
编辑: 我确实找到了这篇文章:http://czyborra.com/charsets/iso8859.html
【问题讨论】:
-
为什么需要支持 Latin-9?对于您将收到的数据,该格式是否有特定的内容?如果您需要支持某些字符而不是特定字符集,我建议您使用完整的 Unicode 和 UTF-8。
-
Latin-9 就像带有欧元符号的 Latin-1,如果您不想或不能跳转到 Unicode,它是一个受欢迎的选择。
-
Latin-9 是业务需求
标签: perl unicode character-encoding latin9