Nginx支持中文文件名方法
我们知道,web服务器处理静态文件的请求是非常高效的,特别是nginx,它宣称“支持高达 50,000 个并发连接数的响应”。
中何让Nginx支持中文.
首先得让你的系统有中语语言包:
设置🆘前可以执行🥊:locale 看一下【kàn yī xià】🕊,如果显示是en_US.UTF-8,即是正【jí shì zhèng】🕰常🌂,不用按下面的【xià miàn de】🛂步骤设【bù zhòu shè】置🆘。如果显示其他编码需【biān mǎ xū】要按如下步骤【xià bù zhòu】设置🆘。
CentOS
编辑【biān jí】/etc/sysconfig/i18n 文件,内容修🍧改为【gǎi wéi】⏭:(可以使用【yòng】vi、nano或winscp图形管【tú xíng guǎn】🏭理软件👞,依个人口味选择)
LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"
保存🤷,重启系【chóng qǐ xì】统。
Debian
apt-get install -y locales dpkg-reconfigure locales
执行【zhí háng】dpkg-reconfigure locales后会出🏊现如下【xiàn rú xià】对话框🏮:
用向下【yòng xiàng xià】的方向🔁键找到en_US.UTF-8 UTF-8,按空格选择【xuǎn zé】,再按回🏫车键【chē jiàn】🌕。
再按向下键选择🤠en_US.UTF-8,再按回车键确【chē jiàn què】💌认,重启系【chóng qǐ xì】😽统【tǒng】。
Ubuntu
编辑【biān jí】/etc/default/locale文件,修改内💢容为【róng wéi】(没有的🌰话创建🛫一个【yī gè】):
LANG="en_US.UTF-8" LANGUAGE="en_US:en"
保存,再执行【zài zhí háng】📫:
locale-gen en_US en_US.UTF-8
重启系📑统【tǒng】。
执行:locale 看一下是否显🧣示是en_US.UTF-8,如果报错【cuò】,请在本😺文反馈【wén fǎn kuì】。按以上🏞步骤设🥩置好后【zhì hǎo hòu】即可支持中文👉,可以上传中文【chuán zhōng wén】的文件或中文【huò zhōng wén】🗃的目录【de mù lù】。
在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下中文可以正常显示了。
注意:
如果中🚣文文件名【míng】是📤gb2312的需要【de xū yào】转换🥄成utf-8.(注是文件名【míng】,不是文件内容🥩)。使用【shǐ yòng】convmv转换🥄,(如果找不到这个命令,光盘中💖有这个【yǒu zhè gè】包【bāo】🎇 convmv-1.10-1.el5.noarch.rpm)convmv -fGBK -tUTF8 -r--notesttarget
其中-f是源编码【mǎ】,-t是目标【shì mù biāo】🧖编码【mǎ】,-r是递归处理目录【lù】🍾,–notest是不移动,实际上对文件【duì wén jiàn】🔻进行改🐮名【míng】(actually do rename the files),target是目标【shì mù biāo】🧖目录【lù】🍾。其余参【qí yú cān】😘数可以【shù kě yǐ】参考【cān kǎo】🈴man或者-h。
如果是【rú guǒ shì】在没有【yǒu】更改编码【biān mǎ】🚢前上传的文【de wén】🥘件【jiàn】🌀,设置好【shè zhì hǎo】后依然会是乱【huì shì luàn】➕码🚢的,建议重新上传👹一下文🏩件【jiàn】🌀。如果没有原来【yǒu yuán lái】💝文件【wén jiàn】的🎖备份可🎼以使用🛷下面命【xià miàn mìng】🌎令进行转换:for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done 。
其中*.html为要转【wéi yào zhuǎn】换的文【huàn de wén】件【jiàn】🌀类型,也可以🌖更换为*.txt,*.rar 主要是【zhǔ yào shì】看你是😀什么文件【wén jiàn】🌀了【le】,里面的【miàn de】💃GBK为源文件【wén jiàn】的🎖编码【biān mǎ】🚢类型,如果不🛃知道源文件【wén jiàn】的🎖编码【biān mǎ】🚢类型可以执行:file -bi 文件【wén jiàn】🌀名 。
如果想【rú guǒ xiǎng】在Windows下改的话其实也是可【yě shì kě】🏛以的🚥Editplus就有【yǒu】批📏量修改【liàng xiū gǎi】👻文件【wén jiàn】🌀编码【biān mǎ】🚢的功能🧕,其他的【qí tā de】♟软件【ruǎn jiàn】🌀可能也有【yǒu】🏼此类功能🧕,可以自【kě yǐ zì】行研究一下。
如果是【rú guǒ shì】目录的🤾话,目前好🎼像是没有办法【yǒu bàn fǎ】进行转换。
还有【yǒu】一🆎个问题【gè wèn tí】,如果是【rú guǒ shì】html之类的【zhī lèi de】网页文件【wén jiàn】🌀,如果原来是网页内容【yè nèi róng】是gb2312或类似的非utf-8的编码【biān mǎ】💫,先要将💖网页里【wǎng yè lǐ】面的【miàn de】💃charset 改为charset=utf-8,再转换🔘文件【wén jiàn】🌀编码【biān mǎ】🚢,否则网【fǒu zé wǎng】页还是【yè hái shì】会乱码🚢的。
convmv 可以从【kě yǐ cóng】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/*.*
以上表🎶示【shì】👫 userfiles下的所【xià de suǒ】有文件的文件【de wén jiàn】名由😃GB2312转换为UTF-8
对于文【duì yú wén】件内容🔣的字符集转换可以使用【yòng】😭iconv。
关键词:Nginx
阅读本文后您有什么感想? 已有 人给出评价!
- 1
- 1
- 1
- 1
- 1
- 1