Aias_小枫 2020-03-05 18:54 采纳率: 0%
浏览 185

CentOS7下的MySQL5.7.28怎么更改字符集为UTF-8

最近写好的web项目打算打包在Linux环境下运行,在虚拟机装JDK、Tomcat
MySQL后,数据库连接也成功了,但是运行项目的时候,连接windows环境下
的MySQL数据库项目运行正常,连接Linux环境下的MySQL数据库运行项目时中文会出现乱码,查了一下说的是数据库字符集的问题。

windows下:
图片说明

linux下:图片说明

查了下网上的解决方案:
1.修改配置文件/etc/my.cnf
2.将my-medium.cnf 移动到etc 并且改名为my.cnf

但问题是。。。。我没有找到这两个文件阿,那怎么更改字符集呢?

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 02:52
    关注

    首先,修改MySQL字符集确实可以解决中文乱码的问题。

    对于 CentOS7 下的 MySQL5.7.28,可以通过以下步骤更改字符集为 UTF-8:

    1. 打开 MySQL 配置文件 my.cnf:
    sudo vim /etc/my.cnf
    

    如果该文件不存在,可以使用以下命令创建:

    sudo cp /usr/share/mysql/my-default.cnf /etc/my.cnf
    
    1. 在 [mysqld] 段下添加以下内容:
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    init_connect='SET NAMES utf8'
    
    1. 重启 MySQL 服务:
    sudo systemctl restart mysqld
    

    请注意:如果在修改前已经创建了数据库和表,更改字符集后需要手动修改数据库和表的字符集。可以使用以下命令进行修改:

    ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
    

    这样,数据库和表的字符集就会被修改为 UTF-8。希望这个解答能够解决你的问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?