首 页 » VPS管理维护 » 解决liunx下不支持中文的问题

解决liunx下不支持中文的问题

2012-04-18 | 浏览人数: 4,329次 | 分类: VPS管理维护 | 2条评论 | 查看评论 发表评论

在IE下默认是以UTF-8的方式编码URL,向服务器发送请求,当中文出现在URL中的时候,就会被以UTF-8的方式编码,发送向服务器。这个时候服务器的字符集就会影响到WEB对URL的解码。

很多时候在其实不论是NGINX还是APACHE,问题的本质在于浏览器端请求的字符集和服务器端的字符集是否一致,当出现不一致的时候,服务器就无法找到请求的路径,从而出现404 NOT FOUND的错误。解决方案可以从以下几方面开始:

1、服务器的系统字符集

在centos下可以用echo $LANG查看。可以在vi /etc/profile 中增加

export zh_CN.utf-8

export LANG=zh_CN.utf-8

然后重新启动服务器,即可生效

2、nginx的conf文件中配置的字符集

在/www/wdlinux/nginx/conf/nginx.conf中的charset设置。

3、被请求的文件路径或者文件名的字符集。

第1和第2点更改很容易,第3点,更改文件名的字符集,需要使用工具convmv才能完成

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

原创文章如转载,请注明:转载自深度VPS [ http://www.deepvps.com ]
[复制本文链接发送给您的好友]
  • 上一篇:
  • 下一篇:
  • 日志信息 »

    该日志于2012-04-18 10:17由 deepvps 发表在VPS管理维护分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

    相关日志 »

    共有2条评论 [点此发言]

    1. 1楼 freetstar 2012年04月18日 19:16

      NICE,学习了,暂时还没遇到字符集的问题

      [回复]

    2. 2楼 孤雨 2012年04月19日 22:13

      :eek: 偶也!打错字啦!哈

      [回复]

    发表评论 »

    = 9 + 8 (防止机器人评论)

     疑问 冷笑 悲伤 坏蛋 感叹 微笑 脸红 大笑 吃惊 惊讶 困惑 酷 大声笑 恼火 古怪 转眼睛 给眼色 好主意 箭头 一般 哭了 绿人