java 入图数据库与测试环境日志打印乱码问题

1.背景

项目引入图数据库Nebula进行关系图谱构建,于是在本地环境写好代码并进行了简单的测试后,发上了测试环境的docker容器当中,调用相关接口发现测试环境涉及到中文信息入图数据库出现乱码现象,刚好发现日志打印的日志有这种现象,刚好这次一起解决。

2.问题定位

1.由于发现是字符集编码的问题于是我们在java代码中把入图数据库的中文信息设置成utf-8格式来进行入库操作,发现并没有解决问题。

2.于是我们主要把问题定位在docker容器内字符集编码上面,查看了docker容器的字符集编码发现容器内编码确实不是utf-8,于是便想在测试环境内装语言包换成utf-8格式。由于测试环境是离线状态,于是便去在base harbor中改变语言包再去引入,最后成功修改测试环境字符集编码,但是发现并没有解决问题。

3.所以我们只能进行不断的尝试,在本地环境把代码打包成jar包(项目打包只要web下的jar包加配置文件,两者在文件夹同级别),尝试在服务器中直接部署一下(未在容器中部署)看是否会出现中文乱码现象,最后发现未出现乱码现象,于是最后就把问题定位在最后两种情况了

1.一个是idea打包的时候直接给设置utf-8编码了,容器自己打包的时候没有设置。
2.一个就是测试环境容器本身还存在一些问题。

3.解决方式

在不断的尝试与定位,我们决定修改测试环境shell脚本来启动jar包

之前的执行jar包的shell脚本未设置字符集如下

command: java -jar sword-java-0.0.1.1-SNAPSHOT.jar

修改后的shell脚本

command: java -Dfile.encoding=utf-8 -jar sword-java-0.0.1.1-SNAPSHOT.jar

然后执行修改后脚本发现成功解决了问题!

并且日志的乱码也解决了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值