AIX下的中文文件路径问题
2015-12-12 00:00
204 查看
在将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下,结果创建中文路径和获取中文路径都顺利通过。
此解决方法需要检查工程中所有的文件读写,比较麻烦。
不知道有没有更好的解决办法?
环境: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下,结果创建中文路径和获取中文路径都顺利通过。
此解决方法需要检查工程中所有的文件读写,比较麻烦。
不知道有没有更好的解决办法?
相关文章推荐
- java-模拟tomcat服务器
- java-WEB中的监听器Lisener
- i-jetty环境搭配与编译
- GUI - Web前端开发框架
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- Extjs4.0 最新最全视频教程
- 如何重装TCP/IP协议
- Linux部署Tomcat服务器
- AIX mount: 0506-351 错误处理
- jenkins------结合maven将svn项目自动部署到tomcat下
- Windows 8 官方高清壁纸欣赏与下载
- 如何搞定tomcat这只喵~
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- MyEclipse Web Project转Eclipse Dynamic Web Project
- axis备忘
- Windows Clang开发环境备忘