• 締切済み

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(); -----------------------------------------------------------

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

環境や処理系のバージョンが明記されていませんが、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(); こんな感じで日本語文字列もきちんと描画されるようになります。

stockjp
質問者

お礼

ありがとうございます。 解決しました。

関連するQ&A