`
hpjianhua
  • 浏览: 235310 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Intellij Idea12 中文乱码问题总结

 
阅读更多

前景:

    又是一个伤心,将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加以配置,如下图:



图片有时上传不成功或者看不到的就看文字描述:

在Intellij中点击Tomcat配置,看到VM options:选项,在输入框中输入:-Dfile.encoding=GBK ,就OK了。。

iteye的图片上传功能就不怎么样了,体验不好,希望改进下。。
然后将项目打包,最后启动项目,结果成功输出中文。。。。

 


 

  • 大小: 46.4 KB
分享到:
评论
1 楼 huangqinghe 2013-07-16  
ding 顶~~~  

相关推荐

Global site tag (gtag.js) - Google Analytics