[英]Japanese characters not displayed properly in ReadOnlySharedStringsTable
[英]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.