java 获取 linux服务器文件名称乱码的解决方案

问题: 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

相关文章
相关标签/搜索