我的编程空间,编程开发者的网络收藏夹
学习永远不晚

alpine jdk 中文乱码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

alpine jdk 中文乱码

使用alpine镜像构建了一个oracle jdk的镜像,运行java业务时,查看日志,显示中文乱码。

 

但是,基于Alpine Linux的Docker基础镜像的镜像文件很小,也有代价:

  • 把glibc替换为了musl libc,但是musl libc不支持国际化和本地化, 所以你想显示中文,还得安装glibc

  • 把bash替换为了ash,但是ash不支持数组特性, 但是,我们大多数已经写好的脚本,基本上是以bash为标准的。

实际上,基于Alpine Linux的Docker基础镜像的出现, 是为了给不需要国际化和本地化的那些人使用的,比如本来就使用英语的国家。中国人要使用,我们经常要打印中文日志, 这时候,默认的不支持中文的显示,所以,只会是乱码。要想不乱码,只能安装glibc并配置上中文支持。  具体办法:点我。

 

中文问题

自己用alpine镜像,安装jdk和glibc,镜像比较大。在dockerhub上面,已经有人封装好了,直接拿来使用即可。

https://hub.docker.com/r/ringcentral/jdk

 

下载镜像

docker pull ringcentral/jdk

运行镜像,并编辑脚本

# docker run -it ringcentral/jdk /bin/sh
/ # vi 1.sh

内容如下:

#!/bin/bash

echo "大家好"

执行脚本

/ # bash 1.sh
大家好
/ #

时区问题

还是上一个镜像,查看时间

/ # date
Mon May 11 09:58:19 UTC 2020
发现时区是UTC,不是CST

 

需要在此镜像基础上,配置时区才行。

新建一个目录 /opt/alpine-chinese-timezone

./
└── dockerfile

dockerfile

FROM ringcentral/jdk
RUN apk add --no-cache tzdata && \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone && \
    apk del tzdata

生成镜像

cd /opt/alpine-chinese-timezone
docker build -t jdk-alpine-chinese-timezone .

运行镜像,查看时区

# docker run -it jdk-alpine-chinese-timezone /bin/sh
/ # date
Mon May 11 18:03:52 CST 2020
/ #
发现时区正常了。

 

本文参考链接:

http://blog.fpliu.com/it/os/Unix-like/GNU-Linux/distribution/AlpineLinux

https://hub.docker.com/r/ringcentral/jdk


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

alpine jdk 中文乱码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

alpine jdk 中文乱码

使用alpine镜像构建了一个oracle jdk的镜像,运行java业务时,查看日志,显示中文乱码。但是,基于Alpine Linux的Docker基础镜像的镜像文件很小,也有代价:把glibc替换为了musl libc,但是musl l
2023-01-31

Linux下JDK中文字体乱码怎么办

这篇文章主要介绍Linux下JDK中文字体乱码怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题描述:部署在linux下的java应用程序中的中文会变成一个一个的“口”字,也就是乱码问题分析:代码中使用了如下的
2023-06-09

Linux下JDK中文字体乱码的解决方法

问题描述: 部署在linux下的java应用程序中的中文会变成一个一个的“口”字,也就是乱码 问题分析: 代码中使用了如下的实现方式: new java.awt.Font("宋体", Font.PLAIN, 12)那么jdk中一定需要“宋体
2022-06-04

Ubuntu下安装JDK、netbeans及netbeans中文乱码怎么解决

这篇文章主要讲解了“Ubuntu下安装JDK、netbeans及netbeans中文乱码怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu下安装JDK、netbeans及ne
2023-06-13

windows显示中文乱码-(Windows中文乱码)

Windows系统中出现中文乱码的原因有很多,下面列举一些常见的原因和解决方法:1. 字符编码问题:检查文本文件的字符编码是否正确,如UTF-8、GB18030等。可以使用文本编辑器如Notepad++来打开文件并选择正确的字符编码。2.
2023-09-18

ntfs-3g 中文乱码

Ubuntu安装中文包方法sudo apt-get install language-support-zh language-pack-zhmount命令有一个iocharset的参数。由于以前都是使用cp936或者gb2312的编码,而没
2023-01-31

JAVA中文与乱码

Tomcat默认字符集为ISO-8859-1,是不支持中文。所以中文都会显示成乱码。解决的需要将ISO-8859-1转换成UTF-8。一、对于Post请求request.setCharacterEncoding("UTF-8");二、对于G
2023-06-02

Strust2 + Ajax中文乱码

在Struts2和Ajax中遇到中文乱码的问题可以通过以下方法解决:1. 在页面中设置meta标签的charset属性为UTF-8,确保页面的编码和服务器的编码一致。```html```2. 在web.xml文件中配置Struts2过滤器的
2023-08-18

python MYsql中文乱码

以前用php连mssqy时也经常出现中文乱码(中文变问号)的问题,那时就明白是编码没设置好导航,现在的Python连mssql数据库也同样出现这问题,问题一样,解决的办法当然也会相似,现在我们来看看解决方法。  python一直对中文支持的
2023-01-31

Python中文乱码解决

python 添加中文注释时出现运行失败。需要在顶部设置编码。# coding=UTF-8'''Created on 2013-8-28@author: xmyj-0210'''number = 23running = True#while
2023-01-31

mysql存储中文乱码

表现前端页面,封装到html里的中文可以显示,和后台相关的中文显示都是 ??? 。查看network请求,传参正常。查看mysql编码,是utf8。再看连接数据库的JDBC设置,也是utf8。解决问了同事,把 /etc/mysql/conf.d/mysql.c
mysql存储中文乱码
2016-01-04

Kettle转换中文乱码

解决方法:在转换中,添加一个中间步骤-字段选择(转换里面找到字段选择) 在字段选择里面,选择和修改里面点击获取选择的字段,然后再元数据里面,再点击一下获取改变的字段,获取到字段后,在乱码字段后面encoding里面,设置编码(utf8或者gb2312,可以自
Kettle转换中文乱码
2015-06-17

jquery中文地址乱码

jQuery是一款非常流行的JavaScript库,它可以帮助开发人员更加方便地操作Web页面。然而,当我们在使用jQuery时,常常会遇到中文地址乱码的问题,这给我们的开发带来了很大的困难。本文将会讨论这个问题,并提出解决方法。首先,我们来看一下为什么会出现中文地址乱码问题。其实,这个问题的本质是浏览器对URL进行编码时的差异性。在W3C规范中,URL只能包含英文字母、数字和
2023-05-24

mysql中文乱码记录

0.中文乱码1.查看mysql中表结构show create table log_datacharset为utf8,代码端:通过gorm修改 在创建表时候修改(这里在连接数据库时已经修改过了,但是没有修改成功)//db为已经连接好的gorm数据err :=
mysql中文乱码记录
2021-09-04

javascript显示中文乱码

在Web开发过程中经常会遇到JavaScript显示中文乱码的问题,这是因为JavaScript不支持直接读取中文字符,需要先将中文字符转换为相应的Unicode编码。本文将介绍在Web开发中遇到JavaScript显示中文乱码的解决方法。一、中文字符编码在计算机编程领域,中文字符通常采用Unicode编码,其中每个中文字符对应的Unicode编码有两种表示法:十进制和十六进制
2023-05-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录