讲师中心 微信公众号
AI工具推荐 视频效率加速

XAMPP 数据库导出 SQL 文件乱码的字符编码调整教程

千晨吖_2082

千晨吖_2082

发布时间:2026-04-14 19:08:41

|

714人浏览过

|

来源于php中文网

原创

根本原因是MySQL服务端默认字符集(如latin1或utf8mb3)与utf8mb4不兼容,必须修改XAMPP的my.ini中[mysqld]段为character-set-server=utf8mb4并重启服务,再转换旧库表字符集,导出时指定--default-character-set=utf8mb4且文件存为UTF-8无BOM。

xampp 数据库导出 sql 文件乱码的字符编码调整教程

导出 SQL 文件时中文变问号或乱码,根本原因在哪

不是导出工具的问题,而是 MySQL 客户端连接时默认用的字符集跟服务端不一致。XAMPP 默认 character_set_server 是 latin1 或过时的 utf8(即 utf8mb3),而你导出时用的命令行、phpMyAdmin 或 Navicat 等工具,大多走的是客户端连接通道,如果没显式指定字符集,就会继承服务端的默认值——结果就是:存进去是中文,查出来是乱码,导出自然也是乱码。

导出前必须确认并修正 MySQL 服务端默认字符集为 utf8mb4

只改客户端或只改 PHP 连接没用,乱码根子在服务端。必须编辑 XAMPP 的真实生效配置文件:C:\xampp\mysql\bin\my.ini(不是 conf\my.cnf,那个通常不被加载)。

在 [mysqld] 段下确保有且仅有:

character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

删掉所有带 default-character-set 的行(该参数已废弃,且只在 [client] 段有效,对服务端无效);不要在 [client] 或 [mysql] 段写 character-set-server,它只对服务端生效。

改完后必须用 XAMPP 控制面板「停止 → 启动」MySQL 服务,不能只刷新页面。

重启后立刻验证:

SHOW VARIABLES LIKE 'character_set_server';
SHOW VARIABLES LIKE 'collation_server';

两个返回值必须分别是 utf8mb4 和 utf8mb4_unicode_ci。否则就是改错了文件或段落。

已有数据库和表不自动升级,导出前得手动转字符集

改完 my.ini 只影响后续新建的库/表,旧数据不会变。如果你导出的是老库,里面表还是 latin1 或 utf8,那导出 SQL 里建表语句仍会声明旧字符集,导入到新环境照样乱码。

执行以下语句逐个修复(替换 your_db_name):

ALTER DATABASE `your_db_name` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

再对每张表执行:

ALTER TABLE `your_table_name` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

注意:CONVERT TO 会重写所有字段,包括 TEXT、VARCHAR 等,但不会改变字段长度限制(如 VARCHAR(255) 不会变)。如果表很大,操作可能锁表,请避开业务高峰。

用 phpMyAdmin 或命令行导出时,务必选对导出编码选项

即使服务端和表都设对了,导出界面若选错编码,依然生成乱码 SQL。

  • phpMyAdmin 导出页 → 「导出方式」选「自定义」→ 滚动到底部「格式特定选项」→ 「导出字符集」选 utf8mb4(不是 utf8)
  • 命令行导出(推荐用于大库):
    mysqldump -u root -p --default-character-set=utf8mb4 --skip-set-charset your_db_name > dump.sql
    关键参数是 --default-character-set=utf8mb4 和 --skip-set-charset(避免导出 SQL 里硬写 SET NAMES latin1 这种覆写语句)
  • 导出后的 .sql 文件本身应保存为 UTF-8 编码(无 BOM),用 VS Code 或 Notepad++ 打开后右下角确认编码显示为 UTF-8,不是 ANSI 或 UTF-8 with BOM

最易被忽略的一点:改完 my.ini 后没重启 MySQL,或者改了 conf\my.cnf 却以为生效了;还有人导出时勾选了「添加 DROP TABLE」但忘了同步改表字符集,导致导入时重建的表又退回到 latin1 —— 这些都会让前面所有操作白费。

热门AI工具

更多
Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
常用的mysql管理工具
常用的mysql管理工具

常用的mysql管理工具有:1、MySQL Workbench、phpMyAdmin、MySQL Shell、Navicat、DBeaver和DataGrip。更多关于mysql管理工具的问题,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

6410

2023.11.03

phpmyadmin导入sql文件失败怎么办
phpmyadmin导入sql文件失败怎么办

在phpmyadmin导入sql文件失败时,可以尝试以下解决方案:1、检查文件权限和格式;2、确保文件字符集与数据库兼容;3、确认表结构兼容;4、检查外键约束和禁用外键检查;5、增加最大上传文件大小;6、分批导入或使用命令行导入;7、联系托管提供商寻求帮助。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

4124

2024.04.02

phpmyadmin怎么改成中文
phpmyadmin怎么改成中文

通过安装中文语言包、将其上传到 phpmyadmin 目录、修改配置文件和重启 phpmyadmin,可以将 phpmyadmin 的界面改为中文。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

901

2024.04.07

phpmyadmin访问不了怎么回事
phpmyadmin访问不了怎么回事

phpmyadmin 无法访问可能是以下原因造成:1、服务器问题:mysql 服务未运行或防火墙阻止访问;2、配置问题:安装/配置错误、错误的配置文件设置或缺少必要的 php 扩展;3、浏览器问题:浏览器缓存、扩展干扰或浏览器不兼容;4、其他原因:dns 问题、恶意软件或网络连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

999

2024.04.07

phpMyAdmin安装教程大全
phpMyAdmin安装教程大全

本专题整合了phpMyAdmin程序安装相关教程,阅读专题下面的文章了解更多详细内容。

965

2025.10.31

PHPMyadmin配置
PHPMyadmin配置

本专题整合了phpmyadmin配置相关教程,阅读专题下面的文章了解更多详细步骤。

589

2025.12.04

XAMPP 与 phpMyAdmin 数据库管理实操
XAMPP 与 phpMyAdmin 数据库管理实操

专注于 XAMPP 内置的 phpMyAdmin 数据库管理工具,系统讲解数据库和数据表的创建与设计、SQL 语句执行、CSV/SQL 格式数据的导入导出、定时备份与一键还原、多数据库批量管理等日常操作,帮助开发者高效管理本地 MySQL 数据。

375

2026.04.08

XAMPP用法详解
XAMPP用法详解

本专题整合了XAMPP相关用法介绍,阅读专题下面的文章了解更多详细内容。

273

2026.04.08

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

20

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
LLVM Programmer’s Manual
LLVM Programmer’s Manual

共0课时 | 0人学习

Conan 包创建教程
Conan 包创建教程

共0课时 | 0人学习

Visual Studio 入门指南
Visual Studio 入门指南

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn