Linux服务器tomcat容器,导出的zip压缩包中文件中文名乱码

记录一次问题。

问题:Linux服务器tomcat容器,导出的zip压缩包中文件中文名乱码。

1.检查java代码

import org.apache.tools.zip.ZipOutputStream;

File zipFile = new File("d:test.zip");
ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile));
zipOut.setEncoding(System.getProperty("file.encoding"));

2.检查tomcat配置检查:catalina.sh

JAVA_OPTS="-server -Xms2048m -Xmx2048m -Ddefault.client.encoding=UTF-8 -Dfile.encoding=UTF-8"

3.检查服务器语言环境设置:

[tams@valuation218 ~]$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

查看另一台导出文件正常的linux服务器语言环境设置:

[root@localhost bin]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

发现LC_*配置为默认,为修改为简体中文。

4.修改linux语言环境设置:

[tams@valuation218 logs]$ export LANG=zh_CN.UTF-8

 

你可能感兴趣的:(linux)