Ich benutze spring RestTemplate.exchange(URI)
.utf-8 kodieren url parameter für resttemplate
Das URI wurde mit UriComponentsBuilder zusammengebaut. einer meiner Abfrage params war query=München
Wenn ich die aus den Protokollen erzeugt url nehmen und es mit curl verwenden, funktioniert es. Wenn ich Ruhevorlage lasse die Abfrage ausführen, tut es nicht.
Irgendwas über den Umlaut wird nicht codiert?
Wie bekomme ich UriCompenentsBuilder und/oder RestTemplate, um mit dem Umlaut umzugehen?
Ich weiß, dass ich einen String url mit RestTemplate verwenden, die wie folgt aussieht:
query=M%C3%BCnchen
und das funktioniert.
Wenn ich 'UriComponentsBuilder.buildAndExpand (" München ") protokolliere. ToUri()' Ich sehe "München" in der Protokollausgabe, aber wenn ich 'RestTemplate.exchange()' aufruft, erhält der Server 'GET/resource? Query = M% C3% BCnchen HTTP/1.1'. Sind Sie sicher, dass der Server 'query = M% C3% BCnchen' nicht empfängt? –
Es ist, weil ich Apache 'HttpClient' verwende. Siehe meine Antwort. –