ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

springboot的docker容器实战之上传文件中文乱码

springboot的docker容器实战之上传文件中文乱码

引用:解决Docker镜像缺少中文支持的问题:构建多语言环境指南 - 云原生实践

声明:以下皆为原文引用,希望更多人的看到这个解决方案

解决Docker出现Malformed input or input contains unmappable characters:

具体操作步骤

1. CentOS 6.x镜像中文支持

步骤一:安装中文语言包

# 进入容器 docker exec -it <container_id> /bin/bash # 安装中文支持 yum -y groupinstall chinese-support

步骤二:修改环境变量

编辑/etc/sysconfig/i18n文件:

LANG="zh_CN.UTF-8"

步骤三:临时生效

export LANG="zh_CN.UTF-8"

步骤四:写入Dockerfile

FROM centos:6 ENV LANG zh_CN.UTF-8

2. CentOS 7镜像中文支持

步骤一:安装中文语言包

FROM centos:7 # 安装中文包 RUN yum install -y kde-l10n-Chinese # 重新安装glibc-common RUN yum -y reinstall glibc-common # 清理缓存 RUN yum clean all

步骤二:生成中文语言环境

RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

步骤三:设置环境变量

ENV LANG zh_CN.UTF-8 ENV LC_ALL zh_CN.UTF-8

步骤四:时区设置

RUN echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3. Debian/Ubuntu镜像中文支持

步骤一:安装中文语言包

FROM debian # 更新源并安装中文包 RUN apt-get update && apt-get install -y locales

步骤二:生成中文语言环境

RUN echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen RUN locale-gen

步骤三:设置环境变量

ENV LANG zh_CN.UTF-8 ENV LC_ALL zh_CN.UTF-8
返回列表