我有以下两个示例字符串:
$a = "點看";
$b = "pøp";
使用字符集UTF-8可以正确显示第一个,但是不能显示第二个字符串。 如果将字符集更改为iso-8859-1,则可以正确显示Second。
我不知道如何使用字符集utf-8显示latin1字符。 或者至少,我需要一种解决方案来检测字符串类型(例如,这是“ utf-8”或这是“ iso-8859-1”),因此我可以使用适当的字符集来显示它。
答案 0 :(得分:4)
解码输入。编码输出。
use strict;
use warnings qw( all );
use feature qw( say );
use utf8; # Source code is encoded using UTF-8
use open ':std', ':encoding(UTF-8)'; # Terminal expects UTF-8
my $s1 = "點看";
my $s2 = "pøp";
say for $s1, $s2;