2013-06-11 33 views
0

我在JSP頁面上的編碼有問題。我在我的項目中使用Maven的spring框架。錯誤的JSP頁面上的靜態文本編碼

我已設置的編碼在

的Maven

<properties> 
    <spring.version>3.0.2.RELEASE</spring.version> 
    <cxf.version>2.7.5</cxf.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
</properties> 

<filter> 
    <filter-name>charsetEncodingFilter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 

    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
     <param-name>forceEncoding</param-name> 
     <param-value>true</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>charsetEncodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

JSP(通過HTML元)

<meta http-equiv='content-type' content='text/html;charset=utf-8' /> 

我跟蹤從服務器返回的文檔及其編碼。它是正確的 - UTF-8。

在JSP頁面中有:

  • 靜態文本象例如從數據庫

ščťžýáíé

  • 動態文本,但我只有靜態文本的問題,它表明類似ľšÄťžýáíé文本。

    解決此問題的任何想法?

  • +0

    你的數據庫使用什麼編碼? – Raedwald

    +0

    它使用'UTF-8'字符集 – misco

    回答

    4

    顯然,將.jsp翻譯爲.java的JSP編譯器(在您的Java EE服務器中)假定(UTF-8)文本是另一種編碼,因此也是這些序列。使用:

    <%@ page pageEncoding="UTF-8" %> 
    
    +0

    謝謝!有用。有沒有辦法永久開啓這個設置? – misco

    +1

    唯一符合邏輯的獨立於服務器的方式是在'web.xml'中。參見[this](http://stackoverflow.com/questions/6336923/how-can-i-cleanly-set-the-pageencoding-of-all-my-jsps)。 –