首页 > 数据库 >docker中的mysql中文乱码解决办法

docker中的mysql中文乱码解决办法

时间:2022-08-24 00:33:46浏览次数:108  
标签:容器 中文 配置文件 utf8 乱码 mysql docker

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

下面是展示一个执行的时候插入的中文是?的图片。

执行的代码如下:

@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来进行查询的。

可以看到我这里使用这个命令成功找到了容器映射的文件地址,下一步就是直接去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

最后查询数据库的当前状态如下:

 

这时候插入的值就是正常的了,如果有不懂的,可以直接问我。

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back

标签:容器,中文,配置文件,utf8,乱码,mysql,docker
From: https://www.cnblogs.com/hg-blogs/p/16618375.html

相关文章

  • springboot+mybatis-plus-join+mysql实现连表查询
    1.简介  Mybatis是目前比较主流的持久层框架,使用非常广泛。Mybatis-Plus是基于Mybatis增强工具包,越来越受到开发人员的喜爱。  在使用Mybatis-Plus开发时,简单的crud......
  • docker 学习第一篇 Linux 安装docker
    1、下载docker,下载地址https://docs.docker.com/engine/install/centos/2、卸载旧的docker,sudoyumremovedocker\docker-client\......
  • ERROR 2006 (HY000): MySQL server has gone away
    sourcesql文件的时候,报错如下:ERROR2006(HY000):MySQLserverhasgoneaway 经查阅导致该error的原因很多,具体分析了我的问题是语句太长了,修改max_allowed_packet......
  • liunx 安装 mysql 8.0 ,centos 7
    下载地址:MySQL::DownloadMySQLCommunityServerhttps://dev.mysql.com/downloads/mysql/ 下载完整的打包程序,然后解压   解压命令:tar-xvfmysql-8.0.30-......
  • MySQL 5.7 vs 8.0版本的性能有什么区别
    1、新增持久化设置MySQL8.0新增SETPERSIST的命令,该命令的配置值保存到数据目录下的mysqld-auto.cnf文件中,待重启后,读取该文件,用其中的配置覆盖缺省的配置文件,补充了SE......
  • 3090服务器构建docker
    dockerbuild-f/data1/home/liyuanzhou/ubuntu/dockerfile-tliyz_yolo:666.使用dockerfile构建镜像FROMnvcr.io/nvidia/pytorch:21.10-py3RUNaptupdate&&apt......
  • MySQL学习(2)---MySQL数据类型
    ps:此随笔基于mysql5.7.*版本。补充:UNSIGNED:所有整数类型都可以有一个可选(非标准)UNSIGNED属性。无符号类型可用于在列中仅允许非负数存在,或者当开发者需要该列的较大......
  • MySQL
    MySQL安装mysql下载地址:https://dev.mysql.com/downloads/windows/installer/5.7.html   下载完成之后直接安装:一直next出现下面这个界面后选择"Custom",,点击"Ne......
  • MySql(一)
    安装MySql首先下载MySql,下载地址为https://dev.mysql.com/downloads/windows/installer/5.7.htmlMySQL安装成功后,需要配置到环境变量,配置成功后,就可以登录到MySQL了,客户......
  • Docker部署jenkins
    https://www.cnblogs.com/hiyong/p/14405561.html1.下载Image[root@server/]#dockerpulljenkins/jenkinsUsingdefaulttag:latestlatest:Pullingfromjenkin......