在 Ubuntu 系统中,MySQL 乱码问题通常是由于字符集设置不正确导致的。以下是一些建议和步骤来解决 MySQL 乱码问题:
打开 MySQL 配置文件 my.cnf
(通常位于 /etc/mysql/
或 /etc/mysql/mysql.conf.d/
目录下)。在 [mysqld]
部分添加以下内容:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
这将设置 MySQL 服务器的默认字符集为 utf8mb4
,排序规则为 utf8mb4_unicode_ci
。保存并关闭文件。
运行以下命令以重启 MySQL 服务:
sudo systemctl restart mysql
如果你已经创建了数据库和表,你需要修改它们的字符集。运行以下 SQL 命令:
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
将 your_database_name
和 your_table_name
替换为实际的数据库和表名。
在连接到 MySQL 服务器时,确保客户端使用正确的字符集。例如,在 PHP 中,你可以使用以下代码设置字符集:
mysqli_set_charset($connection, "utf8mb4");
对于其他编程语言和库,请参阅相应的文档以了解如何设置字符集。
遵循以上步骤应该可以解决 Ubuntu 中 MySQL 的乱码问题。如果问题仍然存在,请检查应用程序代码中是否有硬编码的字符集设置,并确保它们与数据库的字符集设置一致。