最近在使用一个开源数据pipeline 处理的工具的时候,发现了jdk容器镜像编码的一些问题
以下是一个简单的描述

问题

使用了streamsets 工具,使用容器运行,默认使用了adoptopenjdk/openjdk8:jdk8u192-b12-alpine 镜像

查看默认编码

使用了jjs 工具

  • 代码
 
var s = Java.type("java.lang.System")
print(s.getProperty("file.encoding"))
print(s.getProperty("sun.jnu.encoding"))
  • 输出信息
    ANSI_X3.4-1968

解决方法

配置编码

 
-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=utf-8

新的问题

此版本的算是修复了,但是新版本呢,以下是一个issue https://github.com/AdoptOpenJDK/openjdk-docker/issues/105
问题和上边的类似,就是默认编码的问题,应该是已经修复了,但是这个是一个例外,可能还有有其他的jdk 基础镜像存在
类似的问题

注意事项

对于使用社区提供的jdk,对于编码的支持以及默认编码最好还是检查下,不然可能会出现莫名的中文乱码问题,必须
做好完备测试,容器虽好,基础镜像的测试还是必须做到位的

相关文章:

  • 2022-12-23
  • 2023-03-24
  • 2022-12-23
  • 2021-12-17
  • 2021-11-28
  • 2021-12-04
猜你喜欢
  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-04
相关资源
相似解决方案