Nginx下無法使用中文URL的解決方法

2021-08-09 07:07:58 字數 1486 閱讀 3937

前言

最近更換了部落格空間後,發現許多文章頁出現404的情況,找了一下原因,發現是由於url含有中文而nginx預設不支援中文url導致的。此文記錄了解決方法。

在apache中,要實現對中文的支援需要單獨載入中文模組,而nginx是支援多種編碼不需要安裝其他元件的,只是預設是走utf-8的支援路線。這裡提供兩種方法實現nginx對中文url的支援。

方法一

利用convmv對檔名轉碼

此方法治標不治本,僅供緊急時候使用(訪問量大時間段,無法對伺服器進行重啟操作的時候)。

這裡以centos為例,其他系統同理。

安裝convmv?

1yum -yinstallconvmv

轉碼?

1convmv -fgbk -tutf8 -r --notest target

其中-f是源編碼,-t是目標編碼,-r是遞迴處理目錄,–notest是不移動,實際上對檔案進行改名,target是目標目錄。

方法二

更改nginx站點配置檔案,修改編碼為utf-8。

系統區域語言設定?

1# vi /etc/sysconfig/i18n

加入?

1

2

lang="en_us.utf-8"

sysfont="latarcyrheb-sun16"

並重啟系統(如果沒有此檔案則建立)

更改nginx設定

編輯站點的nginx配置檔案,在sever中新增

?

1

charset utf-8;

如:?

1

2

3

4

5

6

7

server{

listen 80;

servername www.iots.vip;

root /www;

index index.html index.jsp;

charset utf-8;

...

同時需要將ftp與shell工具的字符集設定為utf-8。

總結

linux下sublime無法使用中文輸入法

儲存下面的 到檔案sublime imfix.c 位於 目錄 include void gtk im context set client window gtkimcontext context,gdkwindow window 將上一步的 編譯成共享庫libsublime imfix.so,命令 ...

cmd dos 下 無法顯示中文

在做程式開發的時候經常需要在使用命令列進行操作,dos環境本身是不支援中文的,有時候中文編碼的問題就像蒼蠅一樣討厭,下面提供幾種常用的手段解決win7環境下中文顯示亂碼的問題 方法一 修改登錄檔 雙擊執行,看到這樣的提示框就表明ok了。當然也可以手動修改登錄檔 然後在hkey current use...

ubuntu下sublime中文無法輸入的問題

之前就載ubuntu14.0.04上安裝了sublime,在學習python的時候,基本不怎麼使用中文,所以就沒有解決它無法進行中文輸入的問題,今天心血來潮,想解決一下這個問題,也是為以後少點麻煩,下面我列出我解決的過程與步驟 include void gtk im context set clie...