2013-04-22 93 views
0

我正在使用JSF 2和Tomcat 6處理Web應用程序。我收到以下例外情況:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence當我嘗試加載有問題的頁面時。我在顯示文字中重讀了西班牙文字,並且我發現它們正在引發異常。例如,<p>ñ</p>會導致錯誤,但<p>n</p>正常工作。請注意,此示例文本是硬編碼幷包裝在<ui:define>標記中。JSF 2異常:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:3字節UTF-8序列的無效字節2

我還會注意到在客戶端.xhtml文件(有問題的頁面)中使用了一個模板。該模板文件具有<?xml version="1.0" encoding="UTF-8"?>聲明。有什麼可能是問題的建議?我已經搜索了互聯網,所以有很多關於這個特定異常的問題,但是大多數都不涉及JSF,但涉及到影響可能導致問題原因的其他細節。感謝您的建議。

+0

您可以將編碼從「UTF-8」更改爲「ISO-8859-1」嗎? – NINCOMPOOP 2013-04-22 15:58:55

+0

對不起,延遲了...我嘗試了「ISO-8859-1」,並得到了同樣的錯誤。還有其他建議嗎? – neizan 2013-04-22 17:56:06

+0

您不能嘗試ISO-8859-1並得到相同的錯誤。因爲錯誤是關於UTF-8的。 – Esailija 2013-04-22 20:20:37

回答

3

經過進一步調查(試驗和錯誤),我通過更改Eclipse中的設置來實現它。我沒有提到我使用Eclipse的問題,因爲我不知道這個問題,我猜...事後。無論如何,這是我所做的,這使得我的頁面顯示帶有西班牙語重音字符的文本:在Eclipse中,在Preferences/General/Workspace下,有一個「文本文件編碼」選項,它被設置爲默認值「Cp1252」。我改變了這個使用UTF-8,它的工作。我還更改了「編碼」設置,以便在以下各項下使用UTF-8:Preferences/Web/CSS Files,Preferences/Web/HTML FilesPreferences/XML/XML Files。在最終找到「常規/工作區」設置之前,我已經更改了這些(未成功顯示重音字符),因此我不確定它們是否有影響。

相關問題