【问题标题】:Wrong encoding for static texts on a JSP pageJSP 页面上的静态文本编码错误
【发布时间】:2013-06-12 07:18:30
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您的数据库使用什么编码?
  • 它使用UTF-8 charset

标签: spring jsp encoding


【解决方案1】:

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

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

【讨论】:

  • 谢谢!有用。有没有办法永久开启这个设置?
  • 唯一的逻辑服务器独立方式是web.xml。见this
猜你喜欢
  • 2013-03-07
  • 1970-01-01
  • 2011-04-05
  • 1970-01-01
  • 2012-05-06
  • 2011-03-28
  • 1970-01-01
  • 1970-01-01
  • 2015-07-29
相关资源
最近更新 更多