"测试GZKLLT2022.PDF"文件名显示为:
???GZKLLT2022.PDF
Java创建文件到Ubuntu16.04服务器,发现文件名,中文全部为“?”问号,直接导致文件无法下载
解决方案如下:
#查看当前操作系统字符编码
locale
en_US.UTF-8或zh_CN.UTF-8为正常,显示en_US则为异常
#查看当前操作系统支持的字符集
locale -a
#拉取中文编码
locale-gen zh_CN.UTF-8
#编辑配置,添加语言字符集,i开启编辑,esc退出编辑,shift+zz保存退出
vi /etc/default/locale
#编辑内容
# File generated by update-locale
LANG=zh_CN.UTF-8
#LANGUAGE=en_US:en
#刷新配置
source /etc/default/locale
#重新配制安装的locales
sudo dpkg-reconfigure locales
选中 zh_CN GB2312,zh_CN.GBK GBK,zh_CN.UTF-8 UTF-8
按空格就是选中,然后tab键到ok,点击ok以后会跳转到下一界面,选中 zh_CN.UTF-8,然后ok
重新打开会话就能正常使用中文了,不用重启系统
如果还不行,则可以尝试强制设置JVM启动参数
-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
经过以上步骤,基本可以解决文件名乱码的问题了