java – Eclipse / Spring / Tomcat 6的奇怪字符编码问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Eclipse / Spring / Tomcat 6的奇怪字符编码问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2658字,纯文字阅读大概需要4分钟。
内容图文
我一整天都在尝试,但无法找到合适的解决方案.我的问题是:我正在我的本地Tomcat中开发一个基于Spring MVC的应用程序.我的MySQl数据库具有UTF-8编码集,当使用phpMyAdmin时,其中的所有内容都正确显示.使用catalina.out中的log4j的LOG文件中的输出也可正常工作.
我的JSP页面由配置
<!-- encoding -->
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page pageEncoding="UTF-8" %>
还显示我的JSP数据工作正常.我也可以使用特殊字符从控制器发送数据,而不会有任何数据库干扰.
String str = "UTF-8 Test: ? ? ü ? è é a";
logger.debug(str);
mav.addObject("utftest", str);
这在浏览器的日志和jsp页面上正确显示.
但是:在我的JSP文件中直接使用特殊字符时,例如对于标题中的文本,这不起作用. FF和谷歌浏览器显示奇怪的字符,但报告页面为UTF-8.切换到拉丁语时,字符变得越来越奇怪.
从我的messages.properties文件中显示文本标记时会出现同样的问题,尽管Eclipse在右键单击时会说明将使用UTF-8.
我有点迷路了,现在不知道在哪里检查.
摘要:
>数据库存储很好
> JSP上的DB输出很好
>直接在JSP上输出控制器就可以了
>甚至以表格形式阅读也没关系
> .properties文件和JSP文本不好!!!
有任何想法吗?我非常感谢和提示.
解决方法:
任务
我遇到了与你的问题完全相同的问题,配置非常相似(Tomcat,Spring,Spring Web Flow,JSF2).
关于我自己调查的一些事实:
> Tomcat Window下的WAR:编码问题,
> Tomcat Linux下的相同WAR:没问题→可疑操作系统默认编码,因为Linux是UTF-8,
>在Windows上由Eclipse WTP运行的Tomcat下的相同WAR:没问题→WTF ?!
>使用自然拉丁字符而不是unicode占位符传递UTF-8中的属性文件:解决外部化标签的问题,
> Facelets中的相同(JSF2页面):总是遇到问题,只有工作的是< f:verbatim>& amp; eacute;< / f:verbatim>.
在检查了我在论坛上找到的经典先决条件和建议的所有代码之后,仍然遇到问题:
><?xml version =“1.0”encoding =“UTF-8”?>在XML文件的顶部,
>< meta http-equiv =“Content-Type”content =“text / html; charset = UTF-8”/>在同一文件的HTML标题内,
>< f:view>中的> encoding =“UTF-8”.
Tomcat的配置在以下方面没有做任何事情:
> URIEncoding = server.xml中连接器上的“UTF-8”(正常,因为它涉及URI编码而非页面编码)
> org.springframework.web.filter.CharacterEncodingFilter打开和关闭,
>也是(我可能错过了这里的观点):
<locale-encoding-mapping-list>
<locale-encoding-mapping>
<locale>fr</locale>
<encoding>UTF-8</encoding>
</locale-encoding-mapping>
</locale-encoding-mapping-list>
钥匙
我找到了比较WTP和经典命令行MS-DOS Tomcat启动之间的Tomcat命令行的解决方案.唯一的区别是参数-Dfile.encoding = UTF-8.这是解决问题的关键.
设置JAVA_OPTS = -Dfile.encoding =“UTF-8”,它工作正常.
(尝试)解释
我发现的唯一解释是,Tomcat使用JVM编码,默认情况下是系统编码(Linux上为UTF-8,Windows上为CP1252). Eclipse WTP根据其工作空间编码设置强制JVM编码.以UTF-8传递JVM提供了解决方案.
我怀疑它不是真的是正确的,并且我的堆栈或由maven-resources-plugin或maven-war-plugin进行的资源过滤都存在配置问题,但我还没有找到它.
内容总结
以上是互联网集市为您收集整理的java – Eclipse / Spring / Tomcat 6的奇怪字符编码问题全部内容,希望文章能够帮你解决java – Eclipse / Spring / Tomcat 6的奇怪字符编码问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。