AIX写中文的问题

项目中,要在文件中写中文,在linux、windows等环境上都是好的,但是在aix环境上文件中就写入了乱码,查找资料以后发现是字符集的问题,在写文件的时候,需要做一步转换:

 

需要先获取操作系统,如果是AIX需要进行转码,如果不是AIX,不需要进行转码

 

获取操作系统的代码:

        // 获取操作系统名称
       String operation = System.getProperty("os.name");
        // 转成大写
       operation = operation.toUpperCase(Locale.ENGLISH);
        // 判断是否是AIX的
       if (operation.indexOf("AIX") != -1)
           {
                  // 是AIX
           }
            else
           {
                   // 不是AIX
            }

  

如果是AIX,在写文件前,多加一行代码:

str = new String(str.getBytes("GBK"), "ISO8859_1"); 

把GBK格式的转换成ISO8859_1

 

如果是AIX,在读取文件以后,需要把读取出的一行数据,进行转换:

   

str = new String(str.getBytes("ISO8859_1"), "GBK");

把ISO8859_1格式的转换成GBK

 

如果不是AIX的,不需要做转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值