我正在使用Text::Capitalize尝试对网页中的一些 UTF-8 编码名称进行标题大小写(使用 WWW::Mechanize 下载,但我没有得到我期望的结果。
例如,网页上的名称是“KAJELIJELI, Juvénal”,但 capitalize_title
返回“Kajelijeli, JuvéNal”(注意大写 N)。
我尝试过 use utf8;
并将 $word_rule 正则表达式中的 \w
更改为 [:word:]
但都没有改变capitalize_title
的输出。
有人知道我怎样才能让它发挥作用吗?
TIA
最佳答案
您一定忘记将输入的二进制模式设置为 utf8
,因为该模块工作正常。
示例:
#!perl
use warnings;
use strict;
use Text::Capitalize;
use utf8;
my $test = "KAJELIJELI, Juvénal";
binmode STDOUT, "utf8";
print capitalize_title ($test);
打印
Kajelijeli, Juvénal
关于perl - 为什么 Perl 的 Text::Capitalize 将 "Juvénal"变成 "JuvéNal"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2004257/