这是一个关于IntelliJ IDEA的问题,没找到合适的板块,就在这里问了,如有不妥请版主帮忙转移帖子

horse_leo_zhcn 2015-09-19 10:58:16
我用的是windows+IntelliJ IDEA+Tomcat8,但是控制台输出System.out.println("你好");的时候是乱码?
我该如何设置,网上的很多方法都使用了,但是还是乱码?
1、我把encoding都设置为UTF-8了。
2、VM option,也设置了-Dfile.encoding=UTF-8

都不行

请各位给指点指点!!
...全文
120 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhuangqingch 2015-09-19
第1点:先确认你的java文件编码格式,在IDEA右下角
第2点:确认JDK编译和启动所用的编码,IDEA中统一是用-Dfile.encoding。
第3点:确认上述2点编码都一致后,就可以了,具体如下图:


回复
horse_leo_zhcn 2015-09-19
引用 1 楼 qq568170871 的回复:
输出的页面进行转码了吗?
package com.mtqj.controller;

import com.mtqj.entities.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * Created by horse on 2015/9/16.
 */
@Controller
public class Hello {
    @RequestMapping("/hello")
    public String SayHello(){
        System.out.println("hello World!");
        return "hello";
    }

    @RequestMapping("/testPOJO")
    public String testPOJO(User user){
        System.out.println("你好");
        System.out.println("testPOJO:" + user);

        return "hello";
    }

}
回复
qq568170871 2015-09-19
输出的页面进行转码了吗?
回复
zhuangqingch 2015-09-19
引用 9 楼 xcmcc 的回复:
[quote=引用 6 楼 zhuangqingch 的回复:] [quote=引用 5 楼 xcmcc 的回复:] 还是不行
java文件编译成class文件时,采用的是GBK格式。现在运行用的是UTF-8,所以不行。你重新rebuid下项目重新编译一次就可以了。 [/quote] 已经解决了: 在web.xml中加入一个Filter
<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>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
[/quote]
回复
horse_leo_zhcn 2015-09-19
引用 6 楼 zhuangqingch 的回复:
[quote=引用 5 楼 xcmcc 的回复:] 还是不行
java文件编译成class文件时,采用的是GBK格式。现在运行用的是UTF-8,所以不行。你重新rebuid下项目重新编译一次就可以了。 [/quote] 已经解决了: 在web.xml中加入一个Filter
<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>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
回复
zhuangqingch 2015-09-19
引用 7 楼 zhuangqingch 的回复:
如果重新编译后,还发现不行。原因就是你编译时采用的还是GBK格式。可以在编译设置那加个编译时指定编码参数,如下图:
你用的是UTF-8,所以配置是-encoding UTF-8
回复
zhuangqingch 2015-09-19
如果重新编译后,还发现不行。原因就是你编译时采用的还是GBK格式。可以在编译设置那加个编译时指定编码参数,如下图:
回复
zhuangqingch 2015-09-19
引用 5 楼 xcmcc 的回复:
还是不行

java文件编译成class文件时,采用的是GBK格式。现在运行用的是UTF-8,所以不行。你重新rebuid下项目重新编译一次就可以了。
回复
horse_leo_zhcn 2015-09-19
还是不行
回复
horse_leo_zhcn 2015-09-19
引用 3 楼 zhuangqingch 的回复:
第1点:先确认你的java文件编码格式,在IDEA右下角 第2点:确认JDK编译和启动所用的编码,IDEA中统一是用-Dfile.encoding。 第3点:确认上述2点编码都一致后,就可以了,具体如下图:
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-09-19 10:58
社区公告
暂无公告