作者zxvc (众生都是未来佛)
看板java
标题Re: [问题] JVM中执行Java程式 中文显示"口口"
时间Tue Jan 25 11:36:52 2011
经过两天的战斗,这中文字变□的问题终於找到一个满意的答案及解法。
有种Java程式中文字变方框的问题发生在一很特殊的情形下:
1. 使用Windows 7,但显示语言为English。
2. Java程式的特定look-and-feel,如Plastic。
基本上:
Windows 7 English+Plastic look-and-feel+中文 = 方框
反之:
Windows 7 TW+Plastic look-and-feel+中文 = 正常
Windows 7 English+Metal look-and-feel+中文 = 正常
Windows 7 English+System look-and-feel+中文 = 正常
那方框的组合可能来自於Plastic look-and-feel的bug。
问题是不少程式只要用非System (native) look-and-feel就会有方框。
这是因为这些look-and-feel在找字型的时候,
会使用作业系统的预设字型。
作业系统的预设字型与显示语言有很大的关系。
例如:Windows 7 English的预设字型是Segoe UI,它不支援中文。
Windows 7 TW的预设字型是微软正黑体。
有些较笨的look-and-feel在Windows 7 English就会用Segoe UI去显示中文。
Windows 7 Enterprise/Ultimate是可以切换显示语言的,
切成繁体中文你就会发现那些方框的问题不见了。
至於想在Windows 7 English中解决这方框问题要把Windows GUI的字型
从Segoe UI改成中文字体如微软正黑体。
http://pic.pimg.tw/zxvc/142ce706fc9c64eec567d09e82b7c371.png
建议全部Segoe UI都要改成中文字型。
我目前测试JabRef 2.6与Pdfsam 2.2.1的方框问题用上述方法都解决了。
这篇文章应该也可试试在Windows XP上。
以上的文章是搜寻Google与自己try and error所得到的心得。
--
信佛的人要知道:佛绝不会说谎。但请把握时光。
法灭尽经:
http://www.cbeta.org/result/normal/T12/0396_001.htm
共勉之。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.73.168
1F:→ sbrhsieh:如果你要 release 你的软体给别人使用怎麽办? 01/26 23:04
※ 编辑: zxvc 来自: 140.115.221.79 (01/27 20:54)
※ 编辑: zxvc 来自: 122.126.3.202 (02/06 20:51)