java访问linux中文文件乱码

  相信大家都为linux乱码问题苦恼过,本人也是一样,但只要思路清淅问题就迎刃而解。
首先linux默认字符集是ISO8859-1而windows是GB2312,就一点为突破,我的web服务器
was布署在linux系统中,应用中所要存储的文件也放在linux上.

   所以上传文件时,就需要进行转码,利用jspsmart组件上传文件时,文件名就需转为中文代码如下:
String tmpFileName = new String(file.getFileName().getBytes(),"GBK");

下载和读取文件时,文件的全路径就需转码为linux默认字符集是ISO8859-1,代码如下:

String newFileName = new String(fileName.getBytes("GBK"),System.getProperty("file.encoding"));

注:String.getBytes()可以把字符串转linux默认字符集,System.getProperty("file.encoding")获取linux环境默认字符集。以上代码在xp环境也可正常运行。

并且was的was的jdk设置不需要作任何设置.

你可能感兴趣的:(java,jdk,linux,应用服务器,XP)