AIX下的中文文件路径问题

  在将java编写的Web应用部署到AIX系统下出现中文文件路径问题。

环境:AIX4.3,jdk1.5, tomcat5.0, 运行tomcat的file.encoding设置为GB18030

AIX语言为西文。

现象:1.不能通过new File创建中文文件路径; 2.获得的目录树如果包含中文路径,显示为乱码。

由于war为在window下打包,怀疑是javac的问题,于是直接在AIX下写了测试的java并以application运行,结果正确。

进一步将工程在aix下使用ant重新build,启动tomcat,运行结果确仍然乱码。

于是怀疑在西文的AIX下不能java的 new File(),或者File.getName(),不能处理非iso-8859-1的文件路径。

将写入和读出的文件路径经过程序处理:

待写入的路径转化为iso-8859-1编码的String :

public static  String toLocalFN(String fn){

   return new String(fn.getBytes(),"iso-8859-1");

}

相应地,获得的文件路径按照iso-8859-1编码处理

public static String fromLocalFN(String fn){

  return new String(fn.getBytes("iso-8859-1"));

}

直接在windows下ant,将jar部署到AIX下,结果创建中文路径和获取中文路径都顺利通过。

此解决方法需要检查工程中所有的文件读写,比较麻烦。

不知道有没有更好的解决办法?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值