2010-06-24 96 views
0

我有一點奇怪的問題。非ASCII字符沒有顯示出來

我正在研究(canvas)JPanel上繪製特定圖像的java web start應用程序(使用swing)。它上面的一些佔位符有一些非ASCII字符作爲文本。

現在,當該圖像被繪製在畫布上時,畫布顯示'[]',就好像它無法識別這些UTF-8編碼字符的本機表示一樣。但是當我單擊這些佔位符時,它們的屬性偵聽器將顯示一個對話框,用戶可以在其中編輯它們所持有的文本。現在,奇怪的是,這些對話框以其真實和正確的表示顯示非ASCII文本(意味着我可以編輯此文本)。

現在這違背了我的觀念,可能是操作系統沒有這些字符的本地表示形式。儘管我的系統上已經安裝了東亞語言支持,並且上面安裝了Windows 7。

更奇怪的是,當我在RHEL5桌面上的瀏覽器上運行相同的應用程序時,它在畫布上以及在對話框中顯示正確的表示方式,這種表達方式藐視代碼中存在問題的概念這個應用程序後面

現在我很困惑什麼可能會導致這種情況。
有人能幫我一把!

感謝,
kshtjsnghl

回答

2

可能的是這只是了所使用不支持這些字符的字體的問題。嘗試將其更改爲您知道能夠支持所需字符的字體。

+0

但問題是當您在不同的對話框中打開它們時,相同的字符被正確表示。這意味着字體支持這些字符。 – kshtjsnghl 2010-06-24 11:21:36

+2

@ kshtjsnghl:不,完全相反。字符在另一個對話框中正確顯示的事實表明* data *是正確的,並且它是*顯示*問題...這導致字體原因。嘗試設置不工作的控件的字體與* *工作的控件的字體相同。 – 2010-06-24 11:23:34

+0

進一步的問題是它們都在linux系統上正確地表示文本。 – kshtjsnghl 2010-06-24 12:55:35