PERL:如何检测字符串编码,以便可以使用正确的字符集

时间:2018-08-13 12:54:30

标签: perl character-encoding

我有以下两个示例字符串:

$a = "點看"; 
$b = "pøp";

使用字符集UTF-8可以正确显示第一个,但是不能显示第二个字符串。 如果将字符集更改为iso-8859-1,则可以正确显示Second。

我不知道如何使用字符集utf-8显示latin1字符。 或者至少,我需要一种解决方案来检测字符串类型(例如,这是“ utf-8”或这是“ iso-8859-1”),因此我可以使用适当的字符集来显示它。

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;