我有一个在 Linux 上的 WebSphere Liberty 上运行的项目。 我的语言是巴西葡萄牙语,我们有一些重音单词。 我的java代码设置了一些用户消息,如下所示:
...
ErroResponse erroResponse = new ErroResponse();
erroResponse.setMensagem("Esse grupo não pode ser criado. Já existe um grupo criado com esse nome.");
response = Response.status(Status.BAD_REQUEST).entity(erroResponse).build();
...
我不认为这是浏览器编码问题,因为该消息在我的服务器日志上看起来相同。
我尝试使用 -Dclient.encoding.override 设置 JVM 编码 -Dfile.encoding 为 ISO-8859-1 和 UTF-8,但没有成功。
在 Windows 服务器上运行的同一项目运行没有问题,并以正确的重音显示消息。
只有直接写在源代码中的消息才有这个问题。来自数据库查询结果的重音词被正确呈现。
我使用的是 Suse 11.4。
我真的很感谢任何帮助。
谢谢
最佳答案
尝试检查您的 Suse 编码和语言,方法是:
$ echo $LC_CTYPE
ISO-8859-1
$ echo $LANG
pt_BR
获取所有语言:
$ locale -a
更改为 pt_PT.utf8:
$ export LC_ALL=pt_PT.utf8
$ export LANG="$LC_ALL"
关于java - 奇怪的字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45289791/