论坛首页 Java企业应用论坛

英文系统下 Tomcat 中文乱码问题总结

浏览 6193 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-07-14   最后修改:2013-07-22

前景:

    又是一个伤心,将Spring3 Mvc+Hibernate4集成起来搞搞,没想到在Controller这层给拖了1天多,其中Spring MVC乱码问题,表单乱码问题,全都搜索了N次,看了N次,试了N次,竟然都没效果,花的时间就在这些查找跟看跟偿试中度过,最后这问题终于在不小心的偿试下给解决了,在此记录下给那些遇到困难的程序员少花点时间,多点时间给自己娱乐放松下。

 

实验环境:Intellij Idea 12.1.13+Tomcat6.024+spring3.2 mvc+hibernate4 +maven3+win8系统 64位英文版

项目编码统一使用UTF-8

 

问题描述:在Controller中直接使用System.out.println("中文"),输出来的竟然是 "??" ,然而这问题,在main函数中直接打印输出不会有问题,反而在Tomcat集成测试时才会出现。如下面的代码:

    @RequestMapping("test")
    public String test(){
        System.out.println("中文");
        return "index";
    }

 

 

问题分析:

1.中间都没参与Form表单的收集数据这些,所以问题也不会发生在这里;

2.Spring 过滤器也不会出现这问题,因为我在web.xml已经给配置了下面这段:

    <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

3. 既然都不是上述的原因,有可能是系统编码或者是Tomcat编码问题;

 

解决问题:

经过上述分析原因,可能出现问题的原因就是英文系统的编码或者是Tomcat启动JVM编码问题;下面给出小弟的解决方案:

 

将Tomcat内置在Intellij Idea 12.1.13编程工具中,具体如何将Tomcat内置进Intellij Idea 12.1.13中,请百度或者Google查找方法,在此就不一一介绍,在里面启动与发布及停止运行;

在上述的过程后就对Tomcat加以配置,如下图:


 
然后将项目打包,最后启动项目,结果成功输出中文。。。。

 


 

  • 大小: 46.4 KB
   发表时间:2013-07-18  
图裂了,看不到。
0 请登录后投票
   发表时间:2013-07-18  
javajiao 写道
图裂了,看不到。

图片已经更新了.
0 请登录后投票
   发表时间:2013-07-18  
这个跟intellij有什么关系,纯粹就是tomcat的启动设置呀。
0 请登录后投票
   发表时间:2013-07-20  

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
0 请登录后投票
   发表时间:2013-07-20  
这个帖子应该改名为:tomcat在英文系统下的中文乱码问题。
0 请登录后投票
   发表时间:2013-07-21  
Saro 写道
这个帖子应该改名为:tomcat在英文系统下的中文乱码问题。


是的,我以为解决的是idea的乱码问题,进来发现是tomcat的乱码问题
0 请登录后投票
   发表时间:2013-07-22  
Navee 写道
Saro 写道
这个帖子应该改名为:tomcat在英文系统下的中文乱码问题。


是的,我以为解决的是idea的乱码问题,进来发现是tomcat的乱码问题

感谢各位大神的评论~
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics