Linux未找到包含非ASCII字符的文件名错误
简单地说,如果文件名中包含特殊字符,我就无法下载托管在我的Web服务器中的文件,因为我得到了404.
如果我创建一个名为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= 解决方法
您可能需要将此添加到< connector ... />在Tomcat的server.xml中标记:
URIEncoding="UTF-8" 更多信息: How to get UTF-8 working in Java webapps? utf-8 url problem 我很难在我的身上复制这个.我在Ubuntu 12.04.4 LTS上完成了Tomcat 7.0.26的干净安装,创建了/var/lib/tomcat7/webapps/ROOT/testé.txt,并成功地将该文件提供给我的浏览器网址http://本地主机:8080 /testé.txt. 这是/etc/tomcat7/server.xml中的连接器标记: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" /> 我不能说你为什么不工作,此时,但我至少可以确认使用tomcat7提供UTF-8编码文件是可能的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |