我们有一个Web应用程序(Java spring mvc项目)。 我们的服务器通过REST API返回jsons。
这是我们的质量保证环境的回复示例:
{currency: "EURO", symbol: "€", multiplier: 1}
这是来自不同环境(Dev)的相同响应:
{currency: "EURO", symbol: "�", multiplier: 1}
为什么会出现这种情况的任何想法?
答案 0 :(得分:1)
好的 - 所以我的问题是在ubuntu上运行的构建机器(Jenkins)。 构建机器编译和部署我们的应用程序的所有环境都存在问题。
我必须用
更改要编译的gradle任务tasks.withType(JavaCompile) { options.encoding = 'Cp1252' }
(因为我们在windows env上开发,这是默认的。)
干杯
答案 1 :(得分:0)
这是因为您的浏览器在后台(在服务器上)完成所有工作后绘制了字体。这意味着您可以在某些时候对其进行正确编码,但是一旦浏览器获得它,就不再对其进行编码,并显示浏览器无法理解的字符。
您需要在浏览器端使用JavaScript再运行一次。使用正确的编码对字符串进行简单替换将修复它。