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

mis*_*sco 1 encoding spring jsp

我在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>
Run Code Online (Sandbox Code Playgroud)

弹簧

<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>
Run Code Online (Sandbox Code Playgroud)

JSP(通过html元)

<meta http-equiv='content-type' content='text/html;charset=utf-8' />
Run Code Online (Sandbox Code Playgroud)

我从服务器及其编码中跟踪了返回的文档.这是对的 - UTF-8.

在JSP页面上有:

  • 静态文本,例如 š??žýáíé
  • 数据库中的动态文本

但我只有静态文本的问题,它显示文本ľšÄťžýáíé.

有没有解决这个问题的想法?

Joo*_*gen 5

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

<%@ page pageEncoding="UTF-8" %>
Run Code Online (Sandbox Code Playgroud)