日期:2014-05-20  浏览次数:20774 次

为什么要将ISO2转成GB2312?
网上看到一篇写Properties的代码,但是不明白的是,无论是读还是写,它都将字符从先通过ISO-8859-1解码然后再转成GB2312这是什么呢?

Java code
private static String ISO2GB(String source) {
        if (source == null || source.length() == 0) {
            return "";
        }

        String target = source;
        try {
            target = new String(source.getBytes("8859_1"), "GB2312");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("由ISO-8859-1到GB2312转码失败!");
        }
        return target;
    }


------解决方案--------------------
网络传输的默认字符集都是iso,所以先用iso获取然后转码程gbk
------解决方案--------------------
探讨
网络传输的默认字符集都是iso,所以先用iso获取然后转码程gbk

------解决方案--------------------
Properties文件读取用的字符集都是ISO-8859-1的,必须做字符集之间的转换,否则会乱码

------解决方案--------------------
写的时候不用的 读取的时候在转换就可以了

------解决方案--------------------
那UTF8呢,我们项目里都用它呢
其它字符编码不用,无乱码现象
------解决方案--------------------
load 和 store 方法按下面所指定的、简单的面向行的格式加载和存储属性。此格式使用 ISO 8859-1 字符编码。可以使用 Unicode 转义符来编写此编码中无法直接表示的字符;转义序列中只允许单个 'u' 字符。可使用 native2ascii 工具对属性文件和其他字符编码进行相互转换。
------解决方案--------------------
又是乱码?头疼!
------解决方案--------------------
utf8