问题: java程序读取linux上服务器 目录和文件,若是目录或文件名称为中文时,会出现乱码。html
解决方案:保持程序、服务器编码一致。例如UTF-8java
1.首先网站页面采用 UTF-8 编码,linux
在JSP中配置服务器
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>工具
同时在扫描系统文件时,java 程序读取文件名称的方法设置编码为UTF-8。 (若是下面几步配置齐全了,这里无需设置,默认以系统编码读取)网站
2.Linux系统配置语言环境为UTF-8编码
其中Centos 修改/etc/sysconfig/i18nspa
debian 修改/etc/default/localexml
LANG=zh_CN.UTF-8 或者 en_US.UTF-8htm
3.若是Tomcat 自启动,须要在启动时手动配置系统支持的语言和编码环境,否者没法生效
在 /etc/rc.local 设置 export LC_ALL=en_US.UTF-8
若是须要下载文件,文件名称中包含中文,在Server.xml 配置文件中的connector配置节中加入URIEncoding="UTF-8"
4.若是采用 Flashfxp 等sftp工具上传的文件,须要配置工具的传输编码为UTF-8