生产环境部署,出现中文乱码的情况

情况说明:

我在eclipse中通过运行main方法启动undertow,项目正常运作,其中有一段代码是对接外部系统传输数据

  1. 从数据库取值

  2. java代码拼接xml字符串,用base64和md5做了数据处理

  3. 发送到对方服务器api接口地址


问题说明:

这段代码在我本机的开发环境启动项目后运行正常,当我发布到生产环境时就对方反馈我发送的数据中文乱码。

我自己的排查:

  1. 更换数据库,使用生产环境链接我自己的测试库,发现问题依旧;

  2. 检查java环境,确认jdk版本一致。mysql版本一致。


希望得到帮助:

解决问题的思路和应该排查的点。

评论区

lorre

2020-12-01 14:42

我把打包好的项目在本机通过jfina.bat运行起来发现问题重现了。我在eclipse下启动运行正常,打包后运行就出现中文乱码,我把请求的字符串打印出来,在命令行输出的也没有乱码。

lorre

2020-12-01 14:47

JFinal

2020-12-01 14:52

将 eclipse 的 encoding 配置成 utf-8 试试

lorre

2020-12-01 15:10

@JFinal Preferences/General/Wrokspace中的Text file encoding吗,有两个选项,Default(GBK),另外一个OtherUTF-8。我的eclipse一直是选的Other UTF-8的

lorre

2020-12-01 15:58

问题已解决。我自己的问题。代码有一处:String.getBytes("");改为String.getBytes("UTF-8")后解决

steven_lhcb_9527

2020-12-14 09:25

String.getBytes("") 用的就是你IDE工具设置的编码,我感觉应该和String.getBytes("UTF-8")一样的