zoukankan      html  css  js  c++  java
  • 使用jdk 容器镜像注意默认编码问题

    最近在使用一个开源数据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,对于编码的支持以及默认编码最好还是检查下,不然可能会出现莫名的中文乱码问题,必须
    做好完备测试,容器虽好,基础镜像的测试还是必须做到位的

  • 相关阅读:
    DLX
    逆康托展开
    康托展开
    light oj 1427(ac自动机)
    hdu 2586 (lca-RMQ)
    约瑟夫问题
    C-运算符
    C-数据
    shell-流程控制
    python编程规范-最佳实践
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/11987871.html
Copyright © 2011-2022 走看看