Spring不在UTF-8上显示希伯来语[重复]
Posted
技术标签:
【中文标题】Spring不在UTF-8上显示希伯来语[重复]【英文标题】:Spring doesn't display hebrew on UTF-8 [duplicate] 【发布时间】: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>
使用<%= item %>
进行迭代也无法正确显示。
但是,直接在 JSP 上写希伯来语显示正确。
更新:我的 jsp 配置为使用
显示 UTF-8<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
有什么建议吗??
【问题讨论】:
“不正确”究竟是什么意思?您能否添加一个示例。以及您使用的是哪个确切的 tomcat 版本(我问是因为我昨天在 7.0.47 中遇到了编码问题) 我得到:×ש ×× ×ק×?
而我应该得到יש לך דקה?
【参考方案1】:
这其实不是spring的问题,而是jsp/http的问题。必须在 HTTP 响应中正确设置内容类型和字符集。磁盘上文件的格式是一回事,但 HTTP 响应必须编码并指定为 UTF-8,否则客户端浏览器可能无法正确呈现响应。
最简单的方法是在 jsp 页面的第一行添加一个页面指令:
<%@page contentType="text/html; charset=UTF-8"%>
【讨论】:
我已经在使用它了...我已经更新了我的问题。谢谢以上是关于Spring不在UTF-8上显示希伯来语[重复]的主要内容,如果未能解决你的问题,请参考以下文章