代码驿站移动版
频道导航
HTML/Xhtml
CSS
JavaScript
HTML5
PHP教程
ASP.NET
正则表达式
AJAX
ThinkPHP
Yii
MySQL
MariaDB
Oracle
MongoDB
Redis
DedeCMS
PHPCMS
帝国CMS
WordPress
Discuz
其它CMS
Zend Studio
Sublime
Notepad
Dreamweaver
Windows
Linux
Nginx
Apache
IIS
CentOS
Ubuntu
Debian
网站优化
工具资源
PHP源码
ASP.NET源码
其它源码
图标素材
按钮素材
字体素材
DedeCMS模板
帝国CMS模板
PHPCMS模板
WordPress模板
Discuz!模板
单页模板
开发软件下载
服务器软件下载
广告投放
联系我们
版权申明
软件编程
网页前端
移动开发
数据库
服务器
脚本语言
PHP代码
JAVA代码
Python代码
Android代码
当前位置:
主页
>
服务器
>
Nginx
>
如何让Nginx支持中文文件名具体设置步骤
时间:2020-11-02 17:06:08 | 栏目:
Nginx
| 点击:次
首先得让你的系统有中语语言包:
设置前可以执行: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是递归处理目录,?Cnotest是不移动,实际上对文件进行改名(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
您可能感兴趣的文章:
Nexus使用Api进行操作
nginx 负载均衡 多站点共享Session
开启Nginx时端口被占用提示:Address already in use
Nginx下WordPress链接(url伪静态)301永久重定向实现方法
nginx目录路径重定向的方法
相关文章
10-05
Debian下搭建Nginx和Tomcat服务器实现负载均衡的方案
10-30
Linux系统下nginx日志每天定时切割的脚本写法
12-22
nginx 隐藏版本号与WEB服务器信息的解决方法
11-22
Windows下安装squid的步骤详解
12-20
nginx命令参数用法详细介绍
JQuery
VUE
AngularJS
MSSql
MySQL
MongoDB
Redis
Linux
Tomcat
Nginx
网站首页
广告投放
联系我们
版权申明
联系站长