拉丁的传说
以下做了一些编码格式的测试:测试文本: 122.11196,29.90573,北仑固废厂 测试代码段:reader=new BufferedReader(new FileReader(filename));strLine=reader.readLine() ;String temp1 = EncodingUtils.getString(strLine.getBytes(),"GB2312");String temp2 = EncodingUtils.getString(strLine.getBytes("utf-8"),"utf-8");String temp3 = EncodingUtils.getString(strLine.getBytes(),"utf-8");将文件存成 Unicode 格式这种方式能得到非乱码的中文显示,但对于 utf-8 格式下取得的经纬度数字利用double lon = Double.parseDouble(lat); 报错 NumberFormatException,原因可能是 parseDouble(lat)方法不能处理存成utf-8格式的带标点小数。 将文件 存成 ANSI 格式将代码改为:reader = new BufferedReader(new InputStreamReader(new FileInputStream(filename),"GB2312"));strLine=reader.readLine() ;String temp1 = EncodingUtils.getString(strLine.getBytes(),"GB2312");String temp2 = EncodingUtils.getString(strLine.getBytes("utf-8"),"utf-8");String temp3 = EncodingUtils.getString(strLine.getBytes(),"utf-8");即解决了中文乱码问题,又解决了Double.parseDouble(lat)报错问题。