Ich habe eine Java-Webanwendung, die aus der Datei auf der Festplatte liest und die erforderlichen Werte zurückgibt. Die Datei auf der Festplatte enthält UTF-8-Zeichen.Tomcat Textdatei Codierung
Beispiel des Dateiinhaltes:
lähedus teeb korterist atraktiivse üüriobjekti välismaalastele
Wenn die Webapp ausgeführt auf localhost*
dann dem Servlet liest von der Festplatte und kehrt:
lähedus teeb korterist atraktiivse üüriobjekti välismaalastele
Wenn ich laufe die gleiche Anwendung auf einem separaten Server die gleiche Anfrage gibt das zurück:
l??hedus teeb korterist atraktiivse ????riobjekti v??lismaalastele
Dies ist eine reine Codierung ist aber ich weiß nicht, wie ich es lösen soll.
Was ich versucht habe:
Ich habe diese zu config/server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> <!-- THIS PART
Aber es half nicht. Was sollte ich in der Konfiguration ändern, damit es auch auf dem Server funktioniert? Danke!
EDIT
ich aus einer txt-Datei auf dem Server enthält json Strings lese. Ich benutze Java BufferReader, um den Inhalt zu lesen. Wie ich in den Kommentaren erwähnt habe, wird dieses Problem nicht vom Leser verursacht, weil das gleiche auf localhost funktioniert.
Ich sende die Antwort über ein Servlet, das nur den JSON-String ausspült. Wieder die gleiche Geschichte wie beim Leser.
Ich bekomme die Fragezeichen auf jedem Client, den ich die Anfrage (Browser, Android, etc).
Was hat die URI-Codierung mit dem * Inhalt * der Dateien zu tun?Ich fürchte, Sie sind im Moment nicht sehr klar. –
Der Inhalt der Datei spielt keine Rolle. Ich wollte nur klarstellen, dass die Originaldaten nicht die Fragezeichen haben – KasparTr
Also warum hast du gesagt "Die Datei auf der Festplatte enthält UTF-8 Zeichen"? Es ist mir immer noch nicht klar, was das Problem ist. Was meinst du mit "es gibt mir Fragezeichen"? Bitte geben Sie mehr Mühe, um wirklich, sehr klar in Ihrer Frage zu sein. –