В данный момент я пытаюсь начать с Spring MVC. При испытании вещей я столкнулся с проблемой кодирования.
Я хочу отобразить символы UTF-8 на своих JSP-страницах, таким образом, я добавил String with UTF-8 символы к моему ModelAndView. Это похоже на это:
@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 я просто хочу отобразить символы String with 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
Отметьте тот после кода <c:out value="ö" />
был отображен, не кодируя ошибку. Я также установил кодировку по умолчанию на UTF-8 в Комплекте инструментов Springsource, но я все еще получаю неправильные символы.
Править:
Возможно, я должен был упомянуть, что использую Mac с OS X 10.6. Для разработки Spring я использую Комплект инструментов Springsource от Spring (http://www.springsource.com/developer/sts). Надежда это помогает узнать что не так с моей установкой.
Редактирование 2:
Благодаря McDwell я просто испытал использование "\u00f6lm"
вместо "ölm"
в моем контроллере и проблеме кодирования о JSP не стало страницы.
Это означает, что мои .java файлы кодируются неправильным набором символов? Где я могу изменить это в Eclipse?
Спасибо.