六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 63|回复: 0

AIX写中文的问题

[复制链接]

升级  29.33%

24

主题

24

主题

24

主题

秀才

Rank: 2

积分
94
 楼主| 发表于 2013-1-15 02:51:26 | 显示全部楼层 |阅读模式
项目中,要在文件中写中文,在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的,不需要做转换
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表