下面是上传文件的截图:
1.文件是以GB2312作为编号,当上传至服务端后,编码依然是GB2312。所以一开始我尝试以GB2312编码进行转码,但是结果是失败的。
2.后来想到了写出文件的时候进行转码,成功把文件转成了UTF-8,但是会出现其他的bug,比如数字“1”会变成“1 ”。也就是多了很多空格,所以也失败了。
3.最后想到了,分割字符串,组装成对象那块,开始依然尝试使用GB2312、GBK、UTF-8依然失败,最后使用编码:ISO-8859-1 成功了。
下面是代码片段:
@Override public Object readLineMap(String line) throws IllegalServiceException { if (line.contains(",")) { String xline = null; try { xline = new String(line.getBytes("ISO-8859-1")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } logger(xline); String[] strings = xline.split(","); ...........................
Linux系统可能需要这样子:
xline = new String(line.getBytes("ISO-8859-1"),"GB2312");