有没有办法在perl中大写重音字符,
my $string = "éléphant";
print uc($string);
Run Code Online (Sandbox Code Playgroud)
那它真的打印ÉLÉPHANT?
我的perl脚本用ISO-8859-1编码,$ string用xml文件打印,编码相同.
perl 只能理解US-ASCII和UTF-8,后者需要
use utf8;
Run Code Online (Sandbox Code Playgroud)
如果要将文件保留为iso-8859-1,则需要明确解码文本.
use open ':std', ':encoding(locale)';
use Encode qw( decode );
# Source is encoded using iso-8859-1, so we need to decode ourselves.
my $string = decode("iso-8859-1", "éléphant");
print uc($string);
Run Code Online (Sandbox Code Playgroud)
但是将脚本转换为UTF-8可能更好.
use utf8; # Source is encoded using UTF-8
use open ':std', ':encoding(locale)';
my $string = "éléphant";
print uc($string);
Run Code Online (Sandbox Code Playgroud)
如果要打印到文件,请确保:encoding(iso-8859-1)在打开文件时使用(无论您使用哪种替代方案).
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |