我运行一个JavaSpring项目。出于开发目的,我在eclipse中嵌入了一个tomcat,以便不断测试我的开发。
我在运行tomcat9的vps上部署了springboot应用程序,在vps上,当我得到一个json文件时遇到了编码问题。
如果我在终端上输入 root@vps:~# curl --cookie "lang=fr" localhost:8080/utils
我明白了
{signout: "Se déconnecter"}
在我的电脑上,如果我在地址栏中键入 localhost:8080/utils
(它的目标是嵌入eclipse中的tomcat),我明白了
{signout: "Se déconnecter"}
但是在我的电脑上,如果我在地址栏里输入相同的firefox my.vps.ip:8080/utils
我明白了
{signout: "Se déconnecter"}
控制器功能为
@RequestMapping("/utils")
public String getUtils(@CookieValue(defaultValue = "en", value = "lang", required = false) String languageCode) {
if (!languageService.exists(languageCode)) {
languageCode = "en";
}
return String.format("/msg/%s/displayedWords.js", languageCode);
}
我试图补充 URIEncoding="UTF-8"
到 Connector
tomcat文件的定义 /etc/tomcat/server.xml
但一切都没变。
有什么问题吗?谢谢
编辑
vps上的区域设置:
root@vps:~# locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC=C.UTF-8
LC_TIME=C.UTF-8
LC_COLLATE="C.UTF-8"
LC_MONETARY=C.UTF-8
LC_MESSAGES="C.UTF-8"
LC_PAPER=C.UTF-8
LC_NAME=C.UTF-8
LC_ADDRESS=C.UTF-8
LC_TELEPHONE=C.UTF-8
LC_MEASUREMENT=C.UTF-8
LC_IDENTIFICATION=C.UTF-8
LC_ALL=
1条答案
按热度按时间eit6fx6z1#
最后,我用unicode代码替换了所有特殊字符,我的文件变成: