从前台jsp表单拿到数据,写入本地临时文件中。本地运行没问题,部署到服务器端,出现乱码。服务器环境win2003
原始代码:
1 FileWriter writer = new FileWriter(path);
2
3 writer.write(fileContent)
解决后的:
1 Writer writer = new BufferedWriter(
2 new OutputStreamWriter(
3 new FileOutputStream(path), "UTF-8"));
4
5 writer.write(fileContent);
无乱码
但由于生成的内容要写入文件,如(.java .c .cpp), 但无法编译成功,识别不出格式,显示为mac文件。那就换种方法吧:
1 FileWriter fw = new FileWriter(path);
2 BufferedWriter bw = new BufferedWriter(fw);
3 bw.write(fileContent);
这样貌似不存在中文乱码问题.. 但貌似还是不行..
最后发现根本原因不在于流的转换,而是在前台获取文本内容时,以前为了防止文本文件在记事本中不换行的现象,加了\n到 \r\n的转换
最后导致了生成用例文件无法编译~ 一直找错了方向
转载于:https://www.cnblogs.com/devilfree/p/3169611.html