弹簧 MVC UTF-8 编码
目前,我正在尝试开始使用Spring MVC。在尝试时,我遇到了一个编码问题。
我想在我的 JSP 页面上显示 UTF-8 字符,所以我在我的 ModelAndView 中添加了一个带有 UTF-8 字符的字符串。它看起来像这样:
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
@RequestMapping(value="/", method=RequestMethod.GET)
public ModelAndView home() {
logger.info("Welcome home!");
return new ModelAndView("home", "utftest", "ölm");
}
}
在 JSP 页面上,我只想显示带有 UTF-8 字符的字符串,如下所示:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Home</title>
</head>
<body>
<h1>Hello world!</h1>
<p><c:out value="ö" /></p>
<p><c:out value="${utftest}"></c:out></p>
</body>
</html>
结果,我得到以下:
Hello world!
ö
ölm
请注意,显示以下代码时未出现编码错误。我还在Springsource工具套件中将默认编码设置为UTF-8,但我仍然得到错误的字符。<c:out value="ö" />
编辑:
也许我应该提到我正在使用带有OS X 10.6的Mac。对于Spring开发,我使用Spring的Springsource工具套件(http://www.springsource.com/developer/sts)。希望这有助于找出我的设置出了什么问题。
编辑 2:
多亏了McDwell,我刚刚尝试使用而不是在我的控制器中使用,JSP页面上的编码问题消失了。"\u00f6lm"
"ölm"
这是否意味着我的.java文件是用错误的字符集编码的?在 Eclipse 中,我在哪里可以更改此设置?
谢谢。