Docker初始化MySQL脚本的时候乱码

2024-05-12  本文已影响0人  风亡小窝

背景

通常我们使用Docker启动一个MySQL容器的时候可能会需要初始化一些数据,此时我们可以把初始化的脚本文件挂载到容器内部的这个目录下 /docker-entrypoint-initdb.d/,这样容器启动的时候会自动执行这些脚本。但是因为容器自身的编码格式不是utf8,这就导致初始化之后的数据中文乱码。

解决方案

在每个初始化的脚本头部添加 /*!40101 SET NAMES utf8 */; 一行,然后执行就可以,这句话的意思是告诉mysql使用utf8字符集处理这些脚本而不是系统默认字符集。非常好用,相比其他的要修改容器字符集什么的方便多了。

/*!40101 SET NAMES utf8 */;

# 这里写上需要执行的sql脚本

https://zhuanlan.zhihu.com/p/495894764

上一篇 下一篇

猜你喜欢

热点阅读