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 ?
随机推荐
- HaProxy 安装搭建配置
HaProxy简介 HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上. HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能.HAPr ...
- [VMware]常见问题处理
参考文献 [1] VMware 无法打开虚拟机 该虚拟机似乎正在使用 - 百度经验 [2] 233 http://10.0.8.46:8080/cas/autologin?username=admin ...
- [数据库]Oracle数据迁移至HIVE(待续)
step1 导出csv数据,并 call sql_to_csv('select * from BE_JJZKJCQKTJ', 'OUT_PATH', 'DA.BE_JJZKJCQKTJ.csv'); ...
- ORA-19870: error while restoring backup piece 数据库恢复报错
问题描述:用备份进行DG恢复,恢复过程中报错ORA-19870: error while restoring backup piece /backup/db_BJCCORA_20180724_02t8 ...
- Sphinx 配置文件说明
一. 创建sphinx.conf文件 其结构组成主要如下: Source 源名称1{ //指定数据源 一些配置 } Index 索引名称1{ Source=源名称1 ...
- ts、typescript、enum、枚举、ts 获取枚举对应的类型、获取 enum 的 key 和 value
ts.typescript.enum.枚举.ts 获取枚举对应的类型 // 假设我一个枚举 enum ENUM_TYPE { ALL = 'all', SOME = 'some', LITTLE = ...
- docker启动mysql报错Can't read dir of '/etc/mysql/conf.d/'
执行命令: docker run -p 3306:3306 --privileged=true -v /mysql/data:/var/lib/mysql -v /mysql/log:/var/log ...
- 笔记:C++学习之旅---关联容器
笔记:C++学习之旅---关联容器 关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的.与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的. ...
- vue中实际代码模拟JS中promise调接口的运行流程
假设我们有一个需要调用接口的场景,我们可以使用Vue中的axios库来发送请求.以下是一个简单的例子: // 引入axios库import axios from 'axios' // 定义一个函数,用 ...
- Eclipse 没有创建 Maven 项目入口的原因
试错过程 软件下载错了 我首先参考了 Eclipse历史版本下载和选择对应的java版本 这篇文章,发现 Eclipse 2020-06 的版本以后就不支持 JDK 8 了. 我想要下载 Oxygen ...