这个问题在网上查了一下,说的不清楚,自己试了一下解决起来很简单。需要注意的几点是:
1. 在Win7系统,用notepad打开程序文件,另存为时选择unicode类型。(不要选gb2312或者utf8)
这样,在程序文件中的中文,都可以正常显示出来。
2. 但是,在程序中从数据库读取出来的中文信息,显示在窗口中时还是乱码。假设数据库中读取的字符是GBK编码的,应该这样解决:
use Encode;
$message = decode ("GBK",$message);
经过这样处理,$message在视窗中显示正常。
3. 这一步是个美观的问题,经过前两步的处理,虽然所有中文都显示正确,但看起来很小,很别扭。
这样处理一下:
my $code_font = $mw->fontCreate('code', -family => 'courier');
$mw->Label(-text => '曲师大医保结算专用接口' , -font => '$code_font' )->pack;
在视窗中显示出来的中文看起来大小适中,很舒服。