Java中的file.encoding和sun.jnu.encoding属性的设置含义

public class PropertiesTest {  
    public static void main(String[] args) {  
        System.out.println("file.encoding:"+System.getProperty("file.encoding"));  
        System.out.println("sun.jnu.encoding:"+System.getProperty("sun.jnu.encoding"));  
        // Properties pro = System.getProperties();  
        // Set<Entry<Object,Object>> entrySet = pro.entrySet();  
        // for(Entry<Object,Object> entry :entrySet){  
        // System.out.println(entry.getKey()+":"+entry.getValue());  
        // }  
    }  
}  

1、 sun.jnu.encoding是指操作系统的默认编码,file.encoding是指JAVA文件的编码(请记住,不是class文件,所有class文件的编码都是UTF-8),所以,在同一个操作系统上运行的JAVA应用程序,其sun.jnu.encoding完全相同,而file.encoding即使在同一个JAVA应用程序中,JAVA文件的编码也可以不一样。 
在大部分的情况下,sun.jnu.encoding对我们都是透明的。

2、 linux 系统默认编码utf-8 
修改和查看linux编码问题: 
[html] view plaincopy在CODE上查看代码片派生到我的代码片 
[root@test-1 ~]# vi /etc/sysconfig/i18n 
LANG=”en_US.UTF-8” 
SYSFONT=”latarcyrheb-sun16” 
linux默认编码UFT-8,终端输出默认编码自然是UTF-8,window中使用secureCRT默认编码是GBK, 
链接到linux系统输出乱码,因为Linux默认是utf-8,所以把secureCRT的默认编码修改为utf-8就ok。

WINDOWS 默认编码GBK 
了解了系统平台的的编码,才容易解决编码问题。 
WIN7中tomcat启动的控制台默认编码是GBK,一般软件默认采用系统默认字符集。 
tomcat的应用一般常用的国际编码是utf-8,应用输出采用系统默认编码GBK, 
所以乱码,再启动jvm时设置成-Dfile.encoding=”UTF-8”,应用乱码问题解决。

原文:https://blog.csdn.net/miracle_8/article/details/80289893 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值