【问题标题】:Spring doesn't display hebrew on UTF-8 [duplicate]Spring不在UTF-8上显示希伯来语[重复]
【发布时间】:2013-12-30 04:45:35
【问题描述】:

我是 spring 新手,我正在尝试打印一个列表。 页面加载时,文本显示不正确。

当我用其中一个条目替换 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>

使用&lt;%= item %&gt; 进行迭代也无法正确显示。 但是,直接在 JSP 上写希伯来语显示正确。

更新:我的 jsp 配置为使用

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

有什么建议吗??

【问题讨论】:

  • “不正确”究竟是什么意思?您能否添加一个示例。以及您使用的是哪个确切的 tomcat 版本(我问是因为我昨天在 7.0.47 中遇到了编码问题)
  • 我得到:×ש ×× ××§×? 而我应该得到יש לך דקה?

标签: java spring jsp utf-8


【解决方案1】:

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

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

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

【讨论】:

  • 我已经在使用它了...我已经更新了我的问题。谢谢
猜你喜欢
  • 2016-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
  • 2016-06-23
相关资源
最近更新 更多