java 获取操作系统中默认编码的两种方法

JAVA herman 625浏览 0评论

最近在开发中遇到了编码问题。开发环境是Windows中文旗舰版,uat环境是Windows 英文Server版(装有支持中文的语言包),生产是 Windows 中文 Server版本。在自己开发环境上没有问题,上生产上也没问题。某一个开发了一个新功能,导致一个老功能在uat环境上无法使用。经过排查是乱码问题,因为以前是没有问题的,这次出了问题,我们发现uat环境的系统被运维的同事重新安装了一个。

Windows 英文系统的编码格式

Windows 英文系统默认的编码格式根据系统而定,老的xp系统可能是 windows-1252 的编码格式。也有 ANSI 格式的,ISO-8859-1格式的,还有我们常见的 GBK 格式等。

java 获取操作系统的默认编码格式

import java.nio.charset.Charset;   

public class getDefaultCharset    {   
    public static void main(String[] args)   {   
        //方法一:中文操作系统中打印GBK   
        System.out.println(System.getProperty("file.encoding"));   
           
        //方法二:中文操作系统中打印GBK   
        System.out.println(Charset.defaultCharset());   
    }   
}