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 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考