docker部署springboot项目插入数据时中文乱码

问题描述:容器里启动springboot项目,项目启动后对数据库操作时,数据产生中文乱码
问题原因:在创建镜像时dockerfile使用了from centos(这个很关键),原始的centos默认编码是POSIX。(可以使用locale查看当前容器编码)docker部署springboot项目插入数据时中文乱码
解决方式一:需要在容器中vi /root/.bashrc设置环境变量:export LANG=en_US.UTF-8
设置了环境变量之后使用locale查看是否生效,如果编码显示为en_US.UTF-8即为生效。
(此时容器中的项目再对数据库进行操作就不会有乱码了。)docker部署springboot项目插入数据时中文乱码
解决方式二:在dockerfile中添加环境变量,在创建镜像时设定容器的编码:
ENV LANG en_US.UTF-8

备注:数据库为Oracle,安装在宿主机上,版本11g。