- 締切済み
perl/tkで日本語を表記したいのですがうまくいきません。
perl/tkについての質問です。 ラベルウィジェットに日本語を表記したいのですが、ご存知の方教えて下さい。 -text=>"ファイル名" のファイル名が文字化けしてしまいます。 ------------------------------------------- #!c:\perl\bin\perl.exe use Tk; $top = MainWindow->new(); $top->title("test"); $font=['MS ゴシック', 11, 'normal']; #ファイル名 $lb_f=$top->Label(-font=>$font, -text=>"ファイル名")->grid(); MainLoop(); -----------------------------------------------------------
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- sakusaker7
- ベストアンサー率62% (800/1280)
環境や処理系のバージョンが明記されていませんが、Windowsで ActivePerlの最近のものだと仮定します。 Tcl/Tkは多言語が対応のため文字列がutf-8化されているので それに応じてPerlから渡してやらなければなりません。 #!c:\perl\bin\perl.exe use Tk; use Encode qw(decode); $top = MainWindow->new(); $top->title("test"); $font=['MS ゴシック', 11, 'normal']; #ファイル名 $lb_f=$top->Label(-font=>$font, -text=>decode('cp932', "ファイル名"))->grid(); MainLoop(); こんな感じで日本語文字列もきちんと描画されるようになります。
お礼
ありがとうございます。 解決しました。