我整天都在尝试解决问题,但是找不到合适的解决方案。我的问题是:我正在本地的Tomcat上开发一个基于Spring MVC的应用程序。我的MySQL数据库设置了UTF-8编码,在使用phpMyAdmin时,其中的所有内容都能正确显示。同时,在catalina.out中使用log4j输出的日志文件也正常工作。
我的JSP页面由
<!-- encoding -->
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page pageEncoding="UTF-8" %>
同时,在我的JSP上展示数据也可以正常工作。我还可以使用特殊字符从我的控制器发送数据,而不受任何数据库干扰。
String str = "UTF-8 Test: Ä Ö Ü ß è é â";
logger.debug(str);
mav.addObject("utftest", str);
在日志和浏览器的jsp页面中正确显示。
但是:当我的JSP文件中直接有特殊字符时,例如标题中的文本,这样就无法正常工作。 FF和Google Chrome显示奇怪的字符,但报告页面为UTF-8。 当切换到拉丁文时,字符变得越来越奇怪。
从我的messages.properties文件显示文本令牌时也存在同样的问题,尽管Eclipse在右键单击时表示将使用UTF-8。
我有点迷失方向,不知道现在该去哪里检查。
总结:
- DB存储正常
- 在JSP上的DB输出正常
- 来自控制器的直接JSP输出正常
- 即使从表单中读取也正常
- properties文件和JSP文字 有问题 !!!
有任何想法吗? 我真的很感激和提示。