2013-06-05 48 views
0

我正在使用spring MVC,並且在網頁中出現問題,表中顯示了一些記錄,這些記錄可能包含一些特殊字符,如Á,ñ,#,@,等等。在JSP中沒有顯示特殊字符

在數據庫中它們存儲正常。在調試過程中,它從數據庫中直接獲取。但是,當在JSP中顯示它們時,它將用「?」替換特殊字符(問號)。

我可以解決這一問題,在我的web.xml中進行以下配置:

<jsp-config> 
    <jsp-property-group> 
     <url-pattern>*.jsp</url-pattern> 
     <page-encoding>UTF-8</page-encoding> 
    </jsp-property-group> 
</jsp-config> 

但是,當我設置,再有就是一些問題,這是以前工作的功能:我上傳的文件我的網站編碼不正確,並且在我的jsps中有一些「硬編碼」屬性,如

<option value="name">Seleccione tipo de ordenación</option> 

哪些內容寫得不正確。 這個jsp-config出來然後他們(這個選項和文件上傳)工作正常。

所以,如果我設置了這個jsp-config屬性,那麼它會失敗,因爲之前工作的東西會失敗。

任何幫助?謝謝!

+0

試試這個:HTTP://stackoverflow.com/questions/374573/character-encoding-jsp-displayed-wrong-in-jsp - 丁不在位的網址,阿拉伯原子能機構 – NINCOMPOOP

回答

0

好吧,最後,似乎我被愚弄了:) 我被告知名稱已正確存儲到數據庫中。但事實上,事實並非如此。問題出在用戶上傳文件時解碼文件。 該文件本身是一個ZIP文件,我必須使用Apache commons compress進行解壓縮。我正在用Cp437打開文件,當文件在英文Windows系統中創建時,Cp437運行良好。但是,在西班牙語Windows系統中創建文件時,打開文件時失敗。

更改CP850字符集爲下已經解決了這個問題:

zipFile = new ZipFile(f, "Cp850");