2012-03-09 11 views
5

MySQLデータベースからデータを抽出すると、いくつかの出力に特殊文字( など)があります。 emacsは\240\346にデコードします。 UTF-8の端末に示すとき特殊文字をUTF-8に変換するには?

、特殊文字は1文字1バイトのみを使用するように

ので、使用される符号化縫い目として示されています。

\346æになるはずです。

質問

んPerlがUTF-8にこれらの特殊文字をエンコードすることができますモジュールを持っていますか?

+0

http://blog.jonnay.net/archives/820-Emacs-and-UTF-8-Encoding.html? –

+0

質問はemacsに関するものではありません。私はPerlにUTF-8にコンテンツをエンコードしたいと思います。 –

+1

utf-8を表示するように端末を設定しましたか? –

答えて

3

Encode::decodeを使用して、エンコードされているデータをPerlの内部形式にデコードします。

次に、データをファイルに書き出すときは、'utf8'レイヤーを設定して、データをUTF-8で書き込むようにします。

use Encode; 

my $data_from_database = ...; 

my $perl_data = decode('ISO-8859-1', $data_from_database); 

binmode STDOUT, ':utf8'; 

print $perl_data; 
関連する問題