中文路径乱码问题
看网上的解决方案,大多是
path = java.net.URLDecoder.decode(path, "utf-8");
无效
改为"gbk" 无效
无效原因:
分析方法实现是对%xx 格式的东西做转码 ,我的url是编译器gbk读文件utf-8的乱码不是这种的,所以他没给处理
使用这个方法前记得确认url是不是%xx的形式,还是单纯的乱码,%在url中是有特殊含义的,需要做转义
这个方法处理URL的乱码,实际上做了%的转义
可以考虑用自己转编码(仅提供思路),但实际上处理编译器编码或者直接改文件编码能解决大多数问题
new String(path.getBytes(),"utf-8");
new String(path.getBytes("GBK"),"utf-8");
乱码原因:
文件是utf-8编码
编译项目 用gbk编译的
编码不匹配
给编译器加上-encoding utf-8
成功得到正确路径
更坑的一点是我就那两个文件时utf-8的编码,其他文件是GBK编码
导致了新的乱码
所以把编译器加上的-encoding utf-8去掉,把两个文件的编码改成GBK结束问题
IDEA查看修改文件编码的地方