簡體   English   中英

在Unix框上運行時,日語字體無法正確顯示

[英]Japanese fonts not getting displayed properly when running on Unix box

我有一個基於Spring MVC的Java webapp。 我有一些數據要用日語字體顯示。 我進行了一些在線研究,發現UTF-8是我需要的字符集編碼。 我將以下行添加到我的應用程序中。 它所做的只是向響應標頭添加字符集編碼。

 response.setCharacterEncoding("UTF-8");

在Windows 7上測試時,日語字體顯示正確。

當我在Unix機器上運行相同的war文件時,只看到以下字符: 和數字(如果有的話)。 我在Chrome調試器中檢查了響應標頭,但仍然看到UTF-8編碼。

我在標頭信息中看到的唯一區別是Windows將服務器作為Apache-Coyote / 1.1,而unix上的服務器具有apache。

有人可以建議我還需要檢查嗎?

問題可能在於如何創建字符串。 它是從文件讀取的嗎?

如果是這樣,則文件本身具有編碼,您可能會根據默認平台編碼來讀取文件。 如果文件采用一種編碼方式,但您以另一種編碼方式閱讀,則字符串中的文本開頭將是錯誤的。

使用調試/記錄的快速檢查是字符串的長度。 如果它在Windows上報告一個長度,在Unix上報告另一個長度,則在生成字符串時可能存在編碼錯誤。 例如,當UTF-8中的字符被解釋為ISO-8859時,您會看到類似以下內容:

在這種情況下,您可能希望String的長度為1,但長度為3。如果將其嵌入其他文本中,即使文本應為2,也可以看到長度相差2。相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM