JSP页面上的静态文本编码错误

时间:2013-06-11 22:34:29

标签: spring jsp encoding

我在JSP页面上遇到编码问题。我在我的项目中使用Spring框架和Maven。

我在

中设置了编码

的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页面上有:

  • 静态文本,例如ščťžýáíé
  • 来自数据库的动态文本

但我只对静态文本有疑问,它会显示ľšÄťžýáíé等文本。

解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:5)

显然,将.jsp转换为.java的JSP编译器(在您的Java EE服务器中)假定(UTF-8)文本是另一种编码,因此是那些序列。使用:

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