2

例:éé

ユーザーがフランス語の文字セットではなくASCII形式の文字セットを取得することがあります...だから、誰でも私を助けることができますか?

4

2 に答える 2

4

これは、Perlの組み込みEncodeモジュールによって最もよく処理されます。文字列を変換する方法の簡単な例を次に示します。

my $standard_string = decode("ascii", $ascii_string);

$standard_stringその後、システム上にあるPerlの標準エンコーディングになります。言い換えれば、その時点からそれについて心配する必要はありません)。

リンクされたドキュメントには、入力ファイルのエンコーディングの設定など、実行できる他の多くの例が記載されています。関連する便利なモジュールはですEncode::Guess。これは、文字エンコードが不明な場合にそれを判別するのに役立ちます。

于 2012-10-08T12:29:00.633 に答える
4

HTMLエンティティをUTF-8に変換したいようです。これを行うには、HTML::Entitiesdecode_entities関数を使用します。

これにより、特定のエンコーディングが添付されていない Perl 文字列が得られます。文字列を UTF-8 エンコーディングで出力するには:

print Encode::encode_utf8(decode_entities($html_string));

または、STDOUT に UTF-8 PerlIO レイヤーを設定すると、Perl がすべてを UTF-8 でエンコードします。複数の文字列を出力する場合に便利です。

binmode STDOUT, ':utf8';
print decode_entities($html_string);
于 2012-10-08T12:40:31.100 に答える