美文网首页
Docker初始化MySQL脚本的时候乱码

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

作者: 风亡小窝 | 来源:发表于2024-05-12 15:38 被阅读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

相关文章

网友评论

      本文标题:Docker初始化MySQL脚本的时候乱码

      本文链接:https://www.haomeiwen.com/subject/lpsufjtx.html