linux下文件下载中文,LINUX环境下资源下载中文目录及中文文件名称问题
项目采用UTF-8作为统一的编码(JVM中缺省字符集、Tomcat的URIEncoding字符集、Struts2的Locale字符集配置、过滤器字符集、页面统一编码、数据库编码、mysql数据库连接字符集等),基本上排除了日常开发的中文乱码问题,具体可以参考Struts2中Datetimepicker控件的中文问题。
但在处理资源下载时候,由于资源在Linux服务器上存放目录及文件名称都存在中文(例如/products/material/img/101×80/人物肖像101×8/测试.jpg),因此在下载时候会报告FileNotFoundException错误,实际上仍然为中文文件名称问题,现简单总结一下处理方案:
分析思路:操作系统缺省字符集设置为zh_CN.UTF-8,JVM在存取操作系统文件时候,实际上要调用Linux操作系统本身的I/O函数来处理,而Linux的I/O函数存取中文文件时候字符集是由操作系统的环境变量决定的,因此报FileNotFoundException,应该是环境变量问题。
解决方案:将Linux操作系统本身缺省编码及字符集设为zh_CN.GB18030,这样可以正常处理中文名称。但在与JVM、数据库等相关的地方的字符集仍然采用UTF-8字符集。
备注:实际上并不需要将操作系统全局环境变量设置为zh_CN.GB18030,可以只设置运行Tomcat、Jboss的用户的环境变量,但考虑到方便性,直接设置全局的操作系统环境变量。
1、修改/etc/sysconfig/i18n
LANG=”zh_CN.GB18030″
LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”
SUPPORTED=”zh_CN.UTF-8:en_US.UTF-8:en_US:en:zh_CN.GB18030:zh_CN:zh:zh_TW.big5:zh_TW:zh:ja_JP.UTF-8:ja_JP:ja:ko_KR.eucKR:ko_KR:ko”
SYSFONT=”latarcyrheb-sun16″
SYSFONTACM=”8859-15″
2、设置环境变量
在/etc/profile中设置
export LC_ALL=zh_CN.GB18030
export LANG= zh_CN.GB18030
3、重启服务器
linux下文件下载中文,LINUX环境下资源下载中文目录及中文文件名称问题相关推荐
- linux中python安装_linux环境下的python安装过程图解(含setuptools)
这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的 ...
- [转载]在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。...
原文地址:在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来. 比如: ┌─┬─┐ │ │作者:wxl1990721 在中文Windows环境下 ...
- linux安装python虚拟环境_linux环境下安装python虚拟环境及注意事项
创建python虚拟环境virtualenv.virtualenvwrapper 1,为什么需要搭建虚拟环境 由于当机器上两个项目依赖于相同包的不同版本时,会导致项目运行失败,此时可以安装虚拟环境 . ...
- linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录
一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为 ...
- linux centos7安装ngix,centos7 环境下安装nginx--Linux
本文将要为您介绍的是centos7 环境下安装nginx--Linux,具体完成步骤:一.安装前需要的编译环境准备 1.安装make yum install -y gcc automake autoc ...
- linux上php指向mysql_linux环境下 php如何配置mysql
展开全部 Linux下配置安装PHP环境 参考别人的做法,遇到问题上网查,下面就是安装步骤. 一.安装Apache2.2.22 1.到官网下636f707962616964757a686964616f ...
- linux 安装防病毒软件,04Linux环境下Norton防病毒软件安装和使用.doc
04Linux环境下Norton防病毒软件安装和使用 Linux环境下 Norton防病毒软件安装和使用 项目编号:项目名称:编 写 人:詹硕编写日期:2012-08-13审 核 人:审核日期:批 准 ...
- 硬盘克隆带linux系统,一种Windows环境下基于DiskGenius克隆Linux系统的方法及系统与流程...
本发明涉及服务器操作系统技术领域,特别是一种windows环境下基于diskgenius克隆linux系统的方法及系统. 背景技术: 服务器在测试过程中需要反复安装linux操作系统用于服务器的各种测 ...
- linux安装powerline字体,Mac环境下安装powerline的方式
什么是powerline 如果你不是通过搜索引擎搜到这篇文章的话,也许你还没有听说过powerline.而你又恰巧是个*UNIX党,或者VIM党的话,那么强烈建议你了解并使用powerline.pow ...
- linux编译ace tao,CentOS环境下ACE编译指南
CentOS环境下ACE编译指南 1.环境说明: (1)CentOS6.3 (2) ACE6.10 2.编译步骤: (1)定义环境变量: ACE_ROOT=/root/work/cots/ACE_wr ...
最新文章
- 轻量级NLP工具Trankit开源,中文处理更精准,超越斯坦福Stanza,内存占用小45%
- Atitit. Async await 优缺点 异步编程的原理and实现 java c# php
- 删除桌面快捷方式小图标的bat命令
- listview winfrom 表头_winform ListView点击行表头,排序
- Matlab三种归一化方法
- jzoj6274-[NOIP提高组模拟1]梦境【贪心,堆】
- html分页实现w3c,分页_w3cschool
- 通过这个免费的,由23部分组成的互动课程,学习ES6 +
- matlab修改图片位深度_如何利用matlab统一处理照片亮度对比度
- ShellExecuteA URLDownloadToFileA
- linux android真机测试
- FlexSPI driver用法
- 力扣题目——53. 最大子序和
- 对数字信号处理中各种频率以及分辨率的理解
- static、const、static const、const static成员的初始化问题
- PDF转CAD经典软件有什么
- springboot获取到的MySQL数据少了8小时
- google地图距离算法_谷歌地图计算两个坐标点的距离函数
- 【数据结构】哈夫曼编码
- 理解Web 3:非事后的想法