簡單的推杆我無法下載已在我的網絡服務器託管,如果他們有在文件名中的特殊字符,因爲我得到404 與非ASCII字符的文件名的Linux找不到錯誤
如果我的文件創建一個名爲olá.txt的文件我似乎沒有找到正確的URL來下載它。我已經嘗試了所有可能的方式來下載:
mydomain.com/olá.txt
mydomain.com/ol%C3%A1.txt
,我總是從的Apache Tomcat 7.0.3收到了404,但如果我更改文件名ola.txt一切都很好。
我已經將AddDefaultCharset utf-8
添加到httpd.conf,但我仍然有問題。
我的意思是應該可以下載名稱中包含非ASCII字符的文件,對吧?
更新:我server.xml
有:
<Connector URIEncoding="UTF-8" compressableMimeType="text/javascript,text/css"
compression="on" compressionMinSize="2048" connectionTimeout="20000"
noCompressionUserAgents="gozilla, travista" port="8080"
protocol="HTTP/1.1" redirectPort="8443"/>
更新:
echo -n olá | od -An -tx1 = 6f 6c c3 a1
echo $LANG = en_US.UTF-8
區域:
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
請告訴我們'echo -nolá| od -An -tx1',還有'echo $ LANG' –
另外'locale'的輸出可能很有用,如果你自己和運行'tomcat'的用戶都可以做到這一點,那將是最好的。 –
@WalterTross問題已更新 –