bug解决记录:前端解密后的中文是问号的解决办法

 最近的项目中,遇到了这个问题,我们的容灾环境要进行演练,但是进行切换到容灾环境的时候,发现返回的中文都是?问号

解决思路:

1.先看下接口的请求头和响应头是不是指定了这个编码格式。排查出来发现都是有的

2.看下解密和加密是否有指定编码格式设置字符 byte[] bytes = srcData.getBytes(StandardCharsets.UTF_8); 

发现没有,但是这个也不影响(其实最好是指定一下啦,不然就会发生我们项目出现的问题)。

没有显式指定字符集,它会根据系统的默认设置来进行转换。

于是乎叫运维去查询了部署项目的机器的字符集,使用命令locale charmap  查看

如果是正常的那么一般都是UTF-8  不正常的就会显示下面的情况

正常的是这种的:

最后总结下:安装下语言字符集文件即可解决!

posted @ 2024-11-06 15:57  程序员hg  阅读(3)  评论(0编辑  收藏  举报