我正在使用Spring MVC编写一个Rest控制器,目前我只有一个端点,其中有一个参数请求:
@RequestMapping(value = "/city", method = RequestMethod.GET)
@ResponseBody
public List<String> getCities(@RequestParam String name) {
...
}
我正在使用匈牙利城市名称,这些名字可以包含一些特殊字符(á,é,ő,ű,ú......) - 它们都来自数据库。
当我用以下方法调用其余端点时:
/serviceoffer/region/city?name=Borsod-Aba%C3%BAj-Zempl%C3%A9n
我将这个字符串写入名称:
Borsod-Abaúj-Zemplén
但我应该得到这个:
Borsod-Abaúj-Zemplén
我不知道这是否是编码/解码问题,但我尝试解码它没有任何成功。
可能是什么解决方案? 非常感谢!
答案 0 :(得分:0)
我将tomcat 7改为tomcat 8,问题解决了......奇怪......
答案 1 :(得分:0)
由于您使用 Tomcat&lt; = 7 和 GET 请求,您应该将URIEncoding从默认的ISO8859-1更改为UTF-8。更改config/server.xml
中的HTTP连接器设置:
<Connector ... URIEncoding="UTF-8" />