Spring不会在UTF-8上显示希伯来语

时间:2013-12-11 23:38:42

标签: java spring jsp utf-8

我是春天的新手,我正在尝试打印清单。 加载页面时,文本无法正确显示。

当我用其中一个条目替换jsp视图名称中的返回字符串并添加@ResponseBody注释时,它会在浏览器上正确显示(FF设置为UTF-8)。

我正在使用ubuntu,因此文件保存在utf-8和tomcat server.xml上URIEncoding设置为UTF-8。 我还添加了一行

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

到pom.xml

JSP:

<c:forEach var="current" items="${ entries }">
    <H1><c:out value="${current.getCsvRow() }"></c:out></H1>
</c:forEach>

使用<%= item %>进行迭代也无法正确显示。 但是,直接在JSP上编写希伯来语会正确显示。

UPDATE :我的jsp配置为使用

显示UTF-8
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这实际上不是一个弹簧问题,而是一个jsp / http问题。必须在HTTP响应中正确设置内容类型和字符集。磁盘上文件的格式化是一回事,但HTTP响应必须编码并指定为UTF-8,否则客户端浏览器可能无法正确呈现响应。

最简单的方法是将页面指令添加到jsp页面的第一行:

<%@page contentType="text/html; charset=UTF-8"%>