[color=green] 相信大家都为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设置不需要作任何设置.[/color]
首先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设置不需要作任何设置.[/color]