记录一次kylin系统部署java服务中文乱码的完整踩坑过程

Kylin 10 安装达梦数据库 图形界面乱码 最小修正解决(一个字体文件) Kylin 10 安装达梦数据库 图形界面乱码 最小修正解决(一个字体文件) Kylin 10 无xclock ,xterm替代 查看以安装汉字字体 阅读详情
AI摘要

文章描述了如何将基于alpine的java应用迁移到银河麒麟(kylinv10)系统,遇到中文乱码问题。通过设置环境变量、检查字符集支持及对基础镜像进行二次封装,最终成功解决乱码问题,并将改造后的镜像推送到镜像仓库。

任务背景

因公司业务要求,需要将目前公司内k8s部署的java应用的基础镜像又linux的alpine版本替换为银河麒麟系统,即kylinv10。

前置准备

已从公开渠道获取了精简版镜像
kylin10-x86-sp2-flat-jdk342-limited

部署JAVA服务

将原有项目中DockerFile内的基础镜像替换
FROM XXXX 替换为麒麟基础镜像

问题产生

服务启动后,通过kubectl logs打印的日志中发现中文字符都变成了问号?

通过信息检索获取到了初步的解决方案:
通过在DockerFile中指定环境变量设置字符集编码
ENV LANG=zh_CN.UTF-8
ENV LC_ALL=zh_CN.UTF-8

尝试重新部署服务后发现乱码并未解决

通过命令行进入容器检查字符集是否生效

locale

在这里插入图片描述
发现字符集仍使用的是默认字符集

检查当前镜像是否支持的字符集列表

locale -a

在这里插入图片描述
当前容器不支持zh_CN.UTF-8

解决方案

通过相同版本的麒麟镜像获取对应的字符集包,对精简版镜像进行二次封装

首先准备完整版麒麟镜像。
链接:https://pan.baidu.com/s/1EngzxiChf95MpUL6o-9jnw
提取码:xekt

通过虚拟机安装镜像

在这里插入图片描述
进入终端中修改网卡配置

cd /etc/sysconfig/network-scripts

在初始状态下,当前目录中只存在ifcfg-lo这个回环网卡
需要更换为自己的网卡信息

vi ifcfg-ens33

在这里插入图片描述
需要注意IPADDR、GATEWAY、DNS 需要根据当前网络状况配置

网卡信息修改完成后状态如下
在这里插入图片描述
重启网卡并关闭防火墙

service network restart
systemctl stop firewalld
systemctl disable firewalld

重启网卡完成后检查当前虚拟机网络状态
在这里插入图片描述
当网络正常连接后
通过ftp工具获取到对应的编码包文件
/usr/lib/locale/zh_CN.utf8
/usr/share/locale/zh_CN

在装有docker的机器上启动精简版镜像

导入本地docker镜像

将镜像包导入

docker load -i kylin10-x86-sp2-flat-jdk342-limited-20221209.tar

基础容器无主进程启动

docker run  -d -it imagename bash

将字符集文件放入镜像中

docker cp zh_CN.utf8 containerId:/usr/lib/locale
docker cp zh_CN  containerId:/usr/share/locale/zh_CN

通过命令行进入容器,并进入对应位置检查cp的文件是否存在

docker exec -it containerId bash

修改环境变量并设置字符集,在末位添加内容

vim /etc/profile  
#加入内容
export LANG=zh_CN.UTF-8
 #生效配置
source  /etc/profile

#加入重启自动生效,文末加入如下内容
vim /root/.bashrc  

#末尾加入内容
source /etc/profile

再次检查可用字符集,已经装配了zh_CN.utf8
在这里插入图片描述

将二次改造的容器重新打包为镜像

docker commit [containerId] imageName:version

将镜像打包为压缩文件

docker load -i kylin10-x86-sp2-flat-jdk342-zh-limited.tar

将镜像推送到镜像仓库

docker tag [old] [new] 

将镜像推送到镜像仓库中

docker push harbor.docker.io/kylin10-x86-sp2-flat:jdk342-zh-limited

再次将java服务中的基础镜像替换为封装的kylin即可。

【实战指南】ARM架构Kylin V10服务器高效部署Kettle全流程解析 本文详细解析了在ARM架构Kylin V10服务器上高效部署Kettle的全流程,包括环境适配、软件包获取、依赖处理、非图形化部署、性能调优等关键步骤。特别针对ARM架构的兼容性问题提供了实用解决方案,帮助用户顺利完成国产化环境下的ETL工具部署与优化。 阅读详情

相关推荐

银河麒麟系统部署JMeter与MariaDB性能测试环境实战指南

性能测试是软件工程中评估系统稳定性和承载能力的关键环节,其核心原理是通过模拟真实用户并发请求,测量系统的响应时间、吞吐量和资源利用率等指标。在信创国产化背景下,基于国产操作系统构建完整的性能测试工具链具有重要的技术价值,能确保测试环境与生产环境一致,避免跨平台差异导致的结果失真。本文以银河麒麟服务器操作系统为应用场景,详细阐述了从系统基础配置、Java环境适配,到Apache JMeter压力生成器与MariaDB数据库靶机的安装、优化与集成实战过程,涵盖了国产化环境中常见的依赖包管理、中文编码、驱动兼容性

weixin_34130389的博客 489

解决麒麟V10上传文件乱码问题

解决湖南麒麟10上传文件乱码问题

皓月星辰 8845

银河麒麟系统部署DeepSeek大模型实战指南

国产操作系统与大语言模型的适配,本质是底层运行时环境与AI推理框架的协同问题。银河麒麟V10基于Linux 5.10定制内核,强制启用SELinux、锁定glibc 2.28、集成UKUI沙箱机制,构成典型信创安全基线;而DeepSeek系列(如v2.5/v4-pro)凭借GGUF量化格式、标准Tokenizer和精简API协议,在CPU轻量推理、中文文本处理与合规集成方面展现出突出的信创友好性。二者结合不仅满足等保三级、政务本地化部署等硬性要求,更支撑公文生成、SQL辅助、政策解读等真实业务场景。本文聚焦

weixin_30235225的博客 512

关于银河麒麟服务器操作系统里使用TongWeb做为应用服务器出现的前台提交中文后台获取到的是乱码的问题处理思路

问题说明:在银河麒麟服务器操作系统使用TongWeb做为应用服务器,使用达梦数据库做想卖产部署时,出现了前台提交的中文数据在后台获取到的是乱码的情况导致客户端验证异常,经过排查客户端数据提交时候中文并未乱码,确实是在后台获取到时才乱码的。 处理思路:一个项目出现后台获取到中文乱码的情况,一般是由于编码不统一或者是使用的编码是不支持中文的,如果发生后台数据接受的数据是乱码则要考虑的几个方面: 1.客户端页面编码, 2、提交的时候的数据是否有出现乱码, 3、后台接收时候设置的是编码, 4、使用的应用服

yeyuningzi的博客 7462

麒麟服务器系统部署MariaDB全攻略:安装、配置与避坑实战

开源数据库在服务器领域的应用日益广泛,MariaDB作为MySQL生态中完全开源的分支,凭借其兼容性和稳定性成为众多业务系统的首选。在Linux服务器上安装数据库,通常涉及包管理、服务初始化、权限控制等基础环节,理解这些底层原理有助于快速部署。麒麟服务器系统作为信创环境中的主流操作系统,其RPM包管理体系与CentOS一致,为MariaDB的无缝安装提供了便利。在实际工程中,从环境检查、软件源配置到安全初始化、远程连接授权,每一环节都有潜在的坑。特别是ARM/aarch64架构的适配问题,以及防火墙、SEL

weixin_30536861的博客 236

麒麟操作系统办公软件管理:可信源、签名验证与权限隔离

麒麟操作系统作为国产信创核心平台,其办公软件管理并非传统Linux的简单复刻,而是基于安全合规构建的独立生态体系。其底层依赖UEFI Secure Boot、GPG签名验证链、cgroup沙箱等机制,决定了软件安装必须遵循可信源准入、二进制包签名核验、用户态/系统态权限隔离三大原则。这直接影响WPS、LibreOffice、VSCode等主流办公工具的部署路径选择——应用商店提供审计日志与零依赖冲突,RPM/DEB直装需匹配ABI并导入国密兼容密钥,AppImage则绕过系统管控带来输入法与安全风险。在政务

wangqiaowqo的专栏 497

国产麒麟系统部署Vue+SpringBoot前后端分离项目实战指南

前后端分离架构已成为现代Web应用开发的主流模式,其核心原理是将用户界面与业务逻辑解耦,通过API进行数据交互。这种架构模式的技术价值在于提升开发效率、增强系统可维护性,并支持团队并行开发。在政府、金融等对信息安全有严格要求的领域,应用场景正加速向国产化基础软件环境迁移。本文聚焦于在国产麒麟操作系统上,部署基于Vue.js前端与Spring Boot后端的典型分离式项目,详细解析从环境配置、依赖安装到服务部署、安全加固的全流程,并针对麒麟系统特有的软件源、权限管理等挑战提供解决方案,为在国产化环境中实现技术

weixin_30667649的博客 402

麒麟V10系统下解决crontab @reboot环境变量缺失问题的实战指南

本文详细解析了麒麟V10系统下crontab @reboot环境变量缺失问题的根源与解决方案。通过分析PATH路径、JAVA_HOME、工作目录和Shell版本等四大常见问题,提供自给自足式脚本改造和crontab环境预配置两种根治方案,并分享故障排查技巧与高阶防护方法,帮助用户确保开机启动脚本稳定运行。

weixin_29247219的博客 194

银河麒麟V10安装MySQL 8.0实战避坑指南

MySQL是主流开源关系型数据库,其在Linux系统上的部署需兼顾内核兼容性、安全模块适配与字符集一致性。银河麒麟V10作为国产信创操作系统,采用定制化内核与kysec安全机制,导致标准MySQL 8.0安装流程失效——典型表现为服务启动失败、中文乱码、SSL握手异常及SELinux/kysec策略拦截。技术价值在于打通国产OS与高版本MySQL的深度集成路径,支撑政务、金融等关键行业信创替代。应用场景涵盖原生RPM部署、字符集全链路UTF8MB4配置、kysec策略放行及JDBC连接调优。本文聚焦银河麒麟

weixin_34060299的博客 320

IAR嵌入式工作台原生Linux支持深度解析

嵌入式IDE跨平台支持是现代开发的基础能力,其本质在于构建系统、调试协议与UI框架的分层抽象与平台特化实现。传统‘伪跨平台’依赖Wine或X11转发,导致USB设备穿透失败、SWO时序失真、fork开销剧增等工程痛点;而真正的原生支持需重构底层:采用Skia+Vulkan渲染、libusb+epoll异步调试、线程池复用编译进程,并统一二进制核心引擎(libiarcore.so)与OSGi插件体系。这种架构不仅提升编译速度与断点响应精度,更使CI/CD摆脱Windows虚拟机依赖,全面适配Ubuntu、统信

weixin_34126557的博客 342

Linux命令行发邮件实战:msmtp轻量SMTP配置与运维落地

在Linux系统管理与自动化运维中,命令行邮件能力是实现告警通知、任务反馈和无人值守运维的基础技术。其核心原理基于SMTP协议的客户端投递机制,通过MSA(邮件提交代理)如msmtp完成本地生成邮件到远程邮箱服务的安全转发。该技术具备零依赖、低资源占用、免root权限、强兼容性等工程优势,广泛应用于服务器监控、CI/CD流水线、定时备份及Kubernetes节点通知等场景。本文聚焦msmtp这一被低估但生产验证超十年的轻量级工具,结合Gmail/Outlook等主流服务商配置要点、中文编码处理、GPG密码安

weixin_30825581的博客 425

数据立方体实战指南:多维建模、预聚合与OLAP加速

数据立方体是一种面向多维即席分析(OLAP)的高性能数据组织范式,其核心原理是通过多维建模构建维度-度量结构,并在ETL阶段完成预聚合,将复杂SQL的O(n)扫描降为O(1)内存寻址。该技术显著提升高频、固定模式的多维查询性能,广泛应用于零售销售分析、金融风控、电商实时看板等需秒级响应与动态钻取的场景。尤其适合应对嵌套JOIN深、GROUP BY字段多、时间+地理+产品多条件过滤等典型慢查瓶颈。本文聚焦真实生产环境中的多维建模实践、预聚合优化策略及OLAP加速落地要点。

weixin_33985679的博客 432

【银河麒麟V10】【服务器】麒麟容器常见问题

(1)kylin-V10-SP1-0711-x86_64 docker镜像下载链接:链接:https://pan.baidu.com/s/10WyBYRoOykqgnagjnoxdXw?pwd=t4h5提取码:t4h5。

桂安俊@KylinOS 5750

国产系统Oracle AWR报告导出实战:麒麟V10环境全流程与避坑指南

数据库性能调优离不开对运行负载的深入分析,而AWR报告作为Oracle自动工作负载仓库的核心产出,是DBA定位性能瓶颈的重要依据。在信创迁移背景下,国产操作系统(如麒麟V10)与Oracle数据库的组合日益常见,但由于官方认证缺失,原本常规的导出流程常因环境变量、脚本权限、字符集等问题受阻。理解AWR生成原理——由MMON进程周期性采样并写入SYSAUX,再通过awrrpt.sql生成报告——是排障的前提。掌握在国产系统上正确配置ORACLE_HOME、NLS_LANG及处理ORA-28547等典型错误,能

weixin_31240035的博客 81

Ambari 3.0+BigTop 3.3集群部署实战

Ambari 3.0+BigTop 3.3集群部署

docsz的博客 604

QT智慧社区管理系统:从架构设计到打包部署全解析

在物业管理与社区服务数字化进程中,桌面客户端凭借稳定、离线可用和硬件兼容优势,成为门禁、访客、报修等高频场景的关键操作端。基于QT框架的桌面应用开发,结合C++与MySQL数据库建模,能够构建出高复用、易维护的智慧社区管理系统。QT的信号槽机制和QTableView数据绑定,为实时门禁记录、分页查询、动态看板提供了高效解决方案。同时,通过windeployqt工具与麒麟系统适配,开发者可快速完成跨平台部署。本文围绕架构分层、数据库设计、核心模块编码、性能优化与打包排错全流程,梳理了一套可落地的工程实践方案,

weixin_31659095的博客 269

信创云PACS解决方案:构建自主可控的医疗影像云平台

医学影像归档与通信系统(PACS)是医院信息化的核心组成部分,负责海量DICOM影像数据的存储、管理与调阅。其技术原理基于DICOM标准,通过标准化协议实现影像设备与信息系统间的互联互通。随着云计算和信创(信息技术应用创新)技术的发展,传统PACS正经历云化与国产化转型,其技术价值在于通过微服务架构、容器化部署和分布式存储,构建弹性可扩展、安全合规的影像数据平台。在应用场景上,尤其适用于面临国产化改造要求的大型医院、医疗集团以及新建院区,能够有效应对影像数据爆发式增长和跨院区协同需求。本文聚焦于信创云PAC

weixin_30654583的博客 639

Linux系统中文乱码解决完整方案

Linux中的中文文件在ssh终端中显示为乱码。原本在Windows中显示正常的文件,上传到Linux中之后,全变成乱码,有什么好的解决方法呢,经过本人多次实验,终于得到一个解决方法

上一篇: 常见fortify漏洞与整改规则
下一篇: 彻底解决springboot使用Swagger报Failed to start bean ‘documentationPluginsBootstrapper异常的问题
chastera
博客等级 码龄10年 29粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值