Eclipse、IDEA环境下设置jvm默认编码

这这有个小程序,大家可以在自己机器上跑一下:

import java.nio.charset.Charset;

public class Encoding {
    public static void main(String[] args) {

        System.out.println(System.getProperty("file.encoding"));
        System.out.println(Charset.defaultCharset().name());
    }
}

打印结果是什么? 
GBK 
估计大多数人的机器打印的结果是GBK?因为我们很多人系统默认编码就是GBK. 
我们查看jdk文档可以看到: 
//java.nio.charset.Charset 
static Charset defaultCharset() 
Returns the default charset of this Java virtual machine. 
//java.lang.System 
static String getProperty(String key) 
Gets the system property indicated by the specified key.

上面两个说白了上面两个方法获得的是系统默认的字符集编码,所以我们一般获得的是GBK,因为我们大部分用的是中文版的window系统。。。。。

但是我们能不能改呢?肯定能! 
eclipse上 
右键工程–>properties–>Resource–>textfileEncoding 
如图所示
看到这里的GBK了吧,也许你早就改过了,所以前面运行结果不是GBK。 
试试改成utf-8,再运行程序。是不是发现运行结果变成utf-8了? 
为了统一编码,这里我们通常设置成utf-8 
IDEA上 
File–>Settings–>File Encodings–>Project Encoding 
这里写图片描述
我们改成iso8859-1试试 
输出是不是变成了iso8859-1。为了统一编码我们还是改回utf-8吧。【如果你之前没有改过idea的编码,这个位置还有其它几个位置编码可能就是system default即GBK】

这样就完了? 
no,no,no!! 
我们试着建立一个web项目,web容器采用tomcat 
这里写图片描述
好大的两个GBK…….【声明:IDEA上工程,文件的字符集编码已经设置成了UTF-8,所以不要怀疑是这个原因。】 
那么,到底是什么原因呢?我们之前明明就是这样改的,而且成功了哎。

我只想说:可能web项目比较特殊吧,毕竟它运行的时候借助了web容器,比如这里我们使用的是tomcat容器。 
那么我们该如何让其回归utf-8呢? 
方法当然有,如下: 
来到tomcat配置界面:添加虚拟机启动参数:-Dfile.encoding=UTF-8 
这里写图片描述
我们再来运行一遍: 
这里写图片描述
utf-8出来了,有木有。 
纳尼,控制台出现了鸟文? 
我们继续对IDEA做点修改。 
打开idea安装目录下的bin文件夹,找到idea.exe.vmoptions文件并打开 
添加一条配置信息:-Dfile.encoding=UTF-8 
这里写图片描述
ok,重启idea,再次运行web项目 
这里写图片描述


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值