Linux
Linux 不解釋 UTF8 編碼的字元
Adán-y-Eva-50x50.jpg
因此,當我嘗試訪問以下文件時,apache 會將其轉換為Ad\xc3\xa1n-y-Eva-50x50.jpg
並且不會找到它,即使它存在。這只發生在包含 UTF8 字元的文件名中。
我已經在我的以下配置
/etc/httpd/conf/httpd.conf
... AddDefaultCharset UTF-8 ... IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable +Charset=UTF-8 ...
.htaccess
並在第一行將其添加到我的根目錄中:IndexOptions +Charset=UTF-8
所有這些都沒有影響載入這些文件。有什麼建議麼?
更新
順便提一下:我在預配置了 plesk 面板的 CentOS 伺服器上執行網站
這裡的問題似乎不在於您的瀏覽器,也不在於您的 Apache 配置。您需要仔細檢查系統的區域設置。
您需要檢查正在執行的語言環境 apache 是否啟用了 UTF-8。為此,您可以執行以下命令:
$ sudo su -l -c locale www-data
www-data
apache使用者在哪裡。檢查返回的語言環境是否看起來不像,例如,es_ES.UTF-8
這意味著您的語言環境沒有啟用 UTF-8。如果是這種情況,您可以在 CentOS 機器上更改此配置,
/etc/sysconfig/i18n
將行更改LANG="es_ES"
為LANG="es_ES.UTF-8"
. 但是,為了使它工作,您的系統需要該語言的語言環境文件。要檢查它是否存在,請使用locale -a
獲取可用的語言環境列表。如果您的系統沒有啟用 UTF-8 的語言環境,您可以使用以下命令生成一個:
$ sudo localedef -i es_ES -f UTF-8 es_ES.utf8
並將其設置為您的預設語言。
希望這有幫助!