jsonutf-8文件是用tomcat错误地检索的,而不是用eclipse

huwehgph  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(321)

我运行一个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=
eit6fx6z

eit6fx6z1#

最后,我用unicode代码替换了所有特殊字符,我的文件变成:

{signout: "Se d\u00E9connecter"}

相关问题