docker中的mysql中文乱码解决办法
博主最近在做谷粒商城,因为要使用docker安装mysql,但是由于安装的时候没有指定mysql的数据库的utf8格式,导致插入的时候就出现了中文是问号的情况,到处百度终于解决,于是打算记录一下自己的解决办法。
下面是展示一个执行的时候插入的中文是?的情况,可以看到数据库中的name列的值为?乱码。

执行的代码如下:
@RunWith (SpringRunner. class )
@SpringBootTest
public class GulimallProductApplicationTests { @Resource
private BrandService brandService; @Test
public void contextLoads() {
BrandEntity brandEntity = new BrandEntity();
brandEntity.setName( "诺基亚2" );
brandService.save(brandEntity);
System.out.println( "保存成功" );
} }
这里可以看到保存中文的值的时候是新增的方法,但是插入就中文显示为?号了。解决办法就是去修改docker里面的mysql的my.cnf配置文件
那么怎么修改呢?
第一种方法:可以直接去容器里面的mysql里面进行修改,但是这样要安装一个容器里面可以修改文件的vim插件,网速太慢了,我就放弃了,没有使用这种方法。
第二种方法:修改linux和容器内部映射的配置文件。因为一开始使用docker安装mysql的时候指定了映射的配置文件的路径,但是时间太长,自己忘记了,于是搜索了一下有一个命令可以直接查看当前容器的映射文件对应在linux上的哪个位置,真的是非常好用的命令
这个命令就是
docker inspect container_name | grep Mounts -A 20
container_name 是容器的名字,这里我建议直接可以复制容器的id号码,直接替换,例如下图,我是用的mysql的id来进行查询的。
下面是我用xshell进行连接我的虚拟机的展示:

可以看到我这里使用这个命令成功找到了容器映射的文件地址,下一步就是直接去Source后面路径,进行修改mysql的配置文件达到我们需要的效果。
使用vi my.cnf打开文件之后就可以把下面的内容复制进去,然后关闭文件,最后使用docker命令docker reload xxxx ==>重启mysql容器
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
最后查询数据库的当前状态如下:


这时候插入的值就是正常的了,因为有些linux操作比较简单,就写的比较粗劣,如果有不懂的,可以直接问我。
docker中的mysql中文乱码解决办法的更多相关文章
- mysql中文乱码解决办法
Windows 在C:\Program Files\MySQL\MySQL Server 5.5\bin目录下 MySQLInstanceConfig.exe执行 重新配置character_set_ ...
- php中 mysql 中文乱码解决办法
首先要保证是utf-8编码或者支持中文的编码 2.Windows下修改方法 MySQL安装目录下的my-default.ini改为my.ini文件 [client]节点 default-charac ...
- MySql 中文乱码解决办法
mysql存入的中文数据乱码,可能有这两个原因 原因一 : 数据源配置和mysql字符集编码不符,或数据源配置没有设置字符集 解决方案:在数据源配置添加字符集 useUnicode=true& ...
- pychram 中 Terminal 中 git log 中文乱码解决办法
添加环境变量 set LESSCHARSET=utf-8 执行以下命令 git config --global core.quotepath false 不成功执行以下命令 git config -- ...
- php mysql 中文乱码解决方法
本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...
- NetBeans中文乱码解决办法
一.Windows下NetBeans中文乱码解决办法 找到你的Netbeans安装目录下的etc文件夹,用记事本打开netbeans.conf,找到netbeans_default_options(不 ...
- [Linux] - CentOS中文乱码解决办法
CentOS 7 终端中文乱码解决办法: 1.使用vim编辑locale.config文件: vim /etc/locale.conf 2.将LANG="en_US.UTF-8"修 ...
- Oracle导入中文乱码解决办法
Oracle导入中文乱码解决办法 一.确保各个客户端字符集的编码同服务器字符集编码一致 1- 确定sqlplus字符集编码,如果是windows设置环境变量. 2- 确保Sec ...
- centos7.2中文乱码解决办法
centos7.2 中文乱码解决办法 1.查看安装中文包: 查看系统是否安装中文语言包 (列出所有可用的公共语言环境的名称,包含有zh_CN) # locale -a |grep "zh_C ...
- 可遇不可求的Question之导入mysql中文乱码解决方法篇
可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?
随机推荐
- [Java SE]数组超界异常分析(IndexOutOfBoundsException/ArrayIndexOutOfBoundsException)
import org.junit.Test; import java.util.ArrayList; /** * @author: Johnny * @date: 2021/11/12 11:17:2 ...
- [人生感悟]做人、做事的"人生十悟"【转载】
做人.做事.做官,是不少人需要经常面对和正确把握的大问题,处理好了,则健康成长,反之则裹足不前,甚至掉入人生的一个个"陷阱",这其中有规律可循,总结"十悟"可思 ...
- 笔记:linux必备网络基础概念和以太网技术基础
笔记:linux必备网络基础概念和以太网技术基础 由于后面可能需要对交换机进行一些配置,所以也是临时学习一下iptables的相关配置,以及一些基本的网络知识,下面就是我看到一些资料做的一些总结,希望 ...
- 2023-05-07:给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后,grid 中最大的岛屿面积是多少? 岛屿 由一组上、下、左、右四个方向相
2023-05-07:给你一个大小为 n x n 二进制矩阵 grid .最多 只能将一格 0 变成 1 . 返回执行此操作后,grid 中最大的岛屿面积是多少? 岛屿 由一组上.下.左.右四个方向相 ...
- thinkphp常量定义
是已经封装好的系统常量 主要是用在控制器下面的动作当中 这样能很大的提高我们的开发效率主要有下面的一些 手册上面都有的 __ROOT__ 网站的根目录 __APP__ 代表项目 ...
- Webpack5构建性能优化:构建耗时从150s到60s再到10s
作者:京东科技 牛志伟 近期对Webpack5构建性能进行了优化,构建耗时从150s到60s再到10s,下面详细讲解下优化过程. 优化前现状 1.历史项目基于Vue3 + Webpack5技术栈,其中 ...
- Django, urls的参数name的demo
Django的路由变化 遇到需要修改路由的需求,特别记录一下 项目开始 django-admin startproject sandboxOA. # 外部文件夹可以改变名字, '.'的意思是上一级不需 ...
- 长文多图一步步讲清楚:DDD理论、建模与代码实现全流程
欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析.实际应用.架构思维.职场分享.产品思考等等,同时欢迎大家加我个人微信「java_front」一起交流学习 1 六个问题 1.1 ...
- 【由浅入深学MySQL】- MySQL连接查询详解
本系列为:MySQL数据库详解,为千锋教育资深Java教学老师独家创作 致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解.如果感觉对大家有帮助的话,可以[点个关注]持续追更~ ...
- 2022-12-27:etcd是无界面的,不好看,joinsunsoft/etcdv3-browser是etcd的web可视化工具之一。请问在k3s中部署,yaml如何写?
2022-12-27:etcd是无界面的,不好看,joinsunsoft/etcdv3-browser是etcd的web可视化工具之一.请问在k3s中部署,yaml如何写? 答案2022-12-27: ...