当遇到通过web上传文件时,中文文件名会乱码,如何排查呢?
首先可以查看http通讯过程中的编解码字符集。
然后可以查看操作系统的默认字符集。 通过日志打印System.getProperty("file.encoding")
最后查看java写文件时文件名编码和System.getProperty("sun.jnu.encoding")
有关,打印此环境属性。
如果有问题,可以通过在程序中设置System.setProperty("sun.jnu.encoding","utf-8")
解决问题。
总结:sun.jnu.encoding 影响文件名的创建,而 file.encoding 则影响到文件内容。
以上就是java上传文件名中文乱码的问题排查思路。
0