在安装了Tk,之后,遇到的第一个问题是视窗中中文显示乱码。

   这个问题在网上查了一下,说的不清楚,自己试了一下解决起来很简单。需要注意的几点是:

   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;

    在视窗中显示出来的中文看起来大小适中,很舒服。

09-03 18:10