Javaのfile.encodingとsun.jnu.Encodingプロパティの設定の意味

2077 ワード

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> entrySet = pro.entrySet();  
        // for(Entry 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"SYSPONT="latarcyrheb-sun 16"linuxデフォルト符号化UFT-8、端末出力デフォルト符号化は当然UTF-8、windowでsecureCRTデフォルト符号化を使用するのはGBK、linuxシステムにリンクして乱符号化を出力し、Linuxデフォルトはutf-8なのでsecureCRTのデフォルト符号化をutf-8に変更すればOKです.
WINDOWSデフォルト符号化GBKはシステムプラットフォームの符号化を理解し、符号化問題を解決しやすい.WIN 7でtomcatが起動したコンソールのデフォルト符号化はGBKであり、一般的なソフトウェアのデフォルトはシステムのデフォルト文字セットを採用している.tomcatの応用で一般的によく使われる国際符号化はutf-8であり、応用出力はシステムデフォルト符号化GBKを採用しているため、文字化けしてjvmを再起動する際に-Dfileに設定.encoding="UTF-8"で、文字化けしを適用して問題を解決します.
参考資料参考資料