einfach geputtet ich keine Dateien herunterladen kann, die in meinem Web-Server gehostet werden, wenn sie in den Dateinamen Sonderzeichen haben, weil ich 404. Linux Nicht gefunden Fehler für Dateinamen mit Nicht-ASCII-Zeichen
bekommen Wenn ich erstelle eine Datei namens olá.txt Ich finde nicht die richtige URL um sie herunterzuladen. Ich habe alle Möglichkeiten versucht, es zum Download:
mydomain.com/olá.txt
mydomain.com/ol%C3%A1.txt
und ich immer eine 404 von Apache Tomcat 7.0.3 bekommen, aber wenn ich den Dateinamen ändern, alles zu ola.txt ist in Ordnung.
Ich habe AddDefaultCharset utf-8
in die httpd.conf hinzugefügt, aber ich habe immer noch das Problem.
Ich meine, es sollte möglich sein, Dateien mit Namen herunterzuladen, die nicht ASCII-Zeichen enthalten, oder?
Update: Mein server.xml
hat:
<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"/>
Update:
echo -n olá | od -An -tx1 = 6f 6c c3 a1
echo $LANG = en_US.UTF-8
locale:
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=
Bitte sagen Sie uns die Ausgabe von 'echo -n olá | od -An -tx1', und auch von echo $ LANG' –
Auch die Ausgabe von 'locale' könnte nützlich sein, und es wäre am besten, wenn Sie all dies als Sie selbst und den Benutzer, der' tomcat' –
ausführt, ausführen könnten @WalterTross Frage aktualisiert –