问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何让Nginx支持中文文件名具体设置步骤

发布网友 发布时间:2022-04-21 23:57

我来回答

1个回答

热心网友 时间:2022-05-04 22:23

首先得让你的系统有中语语言包:
设置前可以执行:locale 看一下,如果显示是en_US.UTF-8,即是正常,不用按下面的步骤设置。如果显示其他编码需要按如下步骤设置。
CentOS
编辑/etc/sysconfig/i18n 文件,内容修改为:(可以使用vi、nano或winscp图形管理软件,依个人口味选择)
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
保存,重启系统。
Debian
apt-get install -y locales
dpkg-reconfigure locales
执行dpkg-reconfigure locales后会出现如下对话框:
用向下的方向键找到en_US.UTF-8 UTF-8,按空格选择,再按回车键。
再按向下键选择en_US.UTF-8,再按回车键确认,重启系统。
Ubuntu
编辑/etc/default/locale文件,修改内容为(没有的话创建一个):
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
保存,再执行:
locale-gen en_US en_US.UTF-8
重启系统。
执行:locale 看一下是否显示是en_US.UTF-8,如果报错,请在本文反馈。按以上步骤设置好后即可支持中文,可以上传中文的文件或中文的目录。
在nginx.conf文件里配置的字符集也是utf-8
server {
listen 80;
server_name test.cn;
root /data;
index index.html index.jsp;
charset utf-8;
……
ay%PM'G+U0
客户端用的是secureCRT,用的字符集改为utf-8,用uft-8后再用rz上传文件,在ie下中文可以正常显示了。
注意:
如果中文文件名是gb2312的需要转换成utf-8.(注是文件名,不是文件内容)。使用convmv转换,(如果找不到这个命令,光盘中有这个包 convmv-1.10-1.el5.noarch.rpm)convmv -fGBK -tUTF8 -r--notesttarget
其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名(actually do rename the files),target是目标目录。其余参数可以参考man或者-h。
如果是在没有更改编码前上传的文件,设置好后依然会是乱码的,建议重新上传一下文件。如果没有原来文件的备份可以使用下面命令进行转换:for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done 。
其中*.html为要转换的文件类型,也可以更换为*.txt,*.rar 主要是看你是什么文件了,里面的GBK为源文件的编码类型,如果不知道源文件的编码类型可以执行:file -bi 文件名 。
如果想在Windows下改的话其实也是可以的Editplus就有批量修改文件编码的功能,其他的软件可能也有此类功能,可以自行研究一下。
如果是目录的话,目前好像是没有办法进行转换。
还有一个问题,如果是html之类的网页文件,如果原来是网页内容是gb2312或类似的非utf-8的编码,先要将网页里面的charset 改为charset=utf-8,再转换文件编码,否则网页还是会乱码的。
convmv 可以从http://j3e.de/linux/convmv 下载,
wget http://j3e.de/linux/convmv/convmv-1.14.tar.gz
tar -zxvf convmv-1.14.tar.gz
cd convmv-1.14
make clean;
make install;
如:
./convmv -f GB2312 -t UTF-8 -r --nosmart --notest userfiles/*.*
以上表示 userfiles下的所有文件的文件名由GB2312转换为UTF-8
对于文件内容的字符集转换可以使用iconv
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? nginx请求的url中有个百分号,导致无法请求这个链... url被nginx编码了改怎么办 如何让Nginx中URL不区分大小写 请问我的nginx服务器无法下载中文路径的文件,怎么... nginx rewrite 中文URL怎么转 nginx下面怎么设置解析中文URL 股票跌破5日均线,高于10日均线,这支股应该怎么理... 均线向上,但是上涨无量,下跌放量。打到了布林线... 均线战法入门与技巧:均线选股技巧有哪些 股市问题讨论。08年疯牛,15年大牛,17年也有慢牛... 专家们说,中国股市将进入牛市,大盘可能超12000点... 股市谚语大全顺口溜 牛犊子生下来死了大牛奶涨怎么办? 股市大行情需要再等十年吗? A股会有牛市吗?如果有牛市能涨多高呢? 导师究竟是选择大牛还是选择小牛?自己的一点经验谈。 小牛生下来三天后死掉了大牛的奶奶涨怎么办? 漫漫上涨是什么意思 股票格言 牛市上涨过程中有什么特点? nginx不支持url检测是什么意思 nginx 配置里面获取 url的前缀 nginx下中文文件名问题有一劳永逸的解决办法吗 nginx URL重写,求解释每个参数的意思。 nginx 怎么传递 url中参数 nginx url 重定向 怎样将截图转到cad中 请问nginx怎么重写某个目录的url nginx如何根据url参数做跳转 nginx 接受URL,然后发送文件 饵料里加红糖对钓鱼的影响? 钓鱼饵料里为什么加红糖对钓鱼的影响? 红糖能不能起到池塘肥水作用 鱼塘用红糖肥水利弊 钓鱼饵料里必须加红糖吗 炖鱼放红糖可以吗 红糖煮鱼有什么功效 做鱼饵加红糖起啥作用 求教红糖在鲤鱼饵料中的用法 红糖烧鱼有好处吗?