结论是:别用excel“另存为csv”当准备步骤,它会静默篡改数据;必须用纯文本编辑器验证并重存为utf-8(无bom),再在phpmyadmin中正确勾选“第一行包含列名”、字段分隔符为逗号、引号为双引号等选项才能成功导入。
直接说结论:别用 excel “另存为 csv” 当作准备步骤,它会 silently 篡改数据;必须用纯文本编辑器验证并重存为 utf-8(无 bom),再配合 phpmyadmin 正确勾选选项才能导入成功。
Excel 导出的 CSV 为什么总丢前导零、变科学计数法?
Excel 不是文本工具,它是渲染引擎。当你打开一个 CSV,它会自动把 00123 解析成数字 123、把 2024-01-01 转成日期对象、把 1e5 展开为 100000 —— 然后“另存为 CSV”时保存的是渲染结果,不是原始字节。
常见现象包括:
-
00123变成123(前导零丢失) -
12345678901234567变成12345678901234500(长整数精度丢失) -
"00123","张三","1e5"在 Excel 里打开后变成123,张三,100000,再保存就彻底失真
解决方法只有一条:绕过 Excel 的解析环节。源头如果是 .xlsx,优先用「另存为 → CSV UTF-8(逗号分隔)(*.csv)」;如果已落到 Excel 打开过的 CSV,就全选列 → 右键「设置单元格格式 → 文本」→ 复制粘贴到 VS Code / Notepad++ → 另存为 UTF-8(无 BOM)。
phpMyAdmin 导入界面哪些选项不能错?
上传文件后,phpMyAdmin 的导入配置页里,这几个选项错一个,整批数据就偏移或失败:
- 「格式」必须选
CSV using LOAD DATA(不是顶部那个泛用的 CSV) - 「字段分隔符」填
,(英文逗号),哪怕你导出时用了分号,也要对应改这里 - 「字段被引号包围」填
"(双引号),且必须和 CSV 实际包裹方式一致 - 「第一行包含列名」要勾选——前提是你的 CSV 第一行确实是纯字段名,如
user_id,user_name,created_at,不含空格或中文 - 「Do not use NULL value」下方的选项按需勾选,但注意:空字符串
""和\N含义不同,MySQL 对 INT 字段写入空字符串会报错,而\N才代表 NULL
特别提醒:CSV using LOAD DATA 模式下,phpMyAdmin 不做类型转换,字段顺序必须和表结构完全一致,否则值会错位写进错误字段。
为什么导入后中文是问号、首字段多出 ?
这是编码链路断裂的典型表现,问题通常出在三个地方:
- BOM 头:Excel「CSV UTF-8」实际输出的是 UTF-8 with BOM(开头三个字节
0xEF 0xBB 0xBF),旧版 phpMyAdmin(尤其是 4.x)会把它当无效字符读入,导致第一列开头出现,后续所有字段整体右移一位 - 表字符集:目标表的
CHARSET必须是utf8mb4,不能是latin1或utf8(后者不支持 emoji) - 连接层:phpMyAdmin 自身的连接字符集需为
utf8mb4,可在 phpMyAdmin 配置文件中确认$cfg['ServerDefault']['charset'] = 'utf8mb4';
验证方式:用 VS Code 打开 CSV 文件,右下角看编码显示是否为「UTF-8」(不是「UTF-8 with BOM」);执行 SHOW CREATE TABLE `your_table`; 确认 DEFAULT CHARSET=utf8mb4。
大文件导入卡住或报 413 错误怎么办?
phpMyAdmin 是 PHP Web 应用,受 PHP 和 Web 服务器双重限制,超过几 MB 就容易失败:
-
413 Request Entity Too Large:Nginx 的client_max_body_size不够,需调大并重启 -
Maximum execution time exceeded:PHP 的max_execution_time或post_max_size不足 - 上传后页面空白:Apache 的
LimitRequestBody或 PHP 的upload_max_filesize被触发
最快绕过方案:把 CSV 压成 .zip 再上传 —— phpMyAdmin 支持解压 ZIP 后导入,能有效规避部分上传限制。实在不行,就改用 MySQL 命令行执行 LOAD DATA INFILE(需服务端文件权限)。
真正麻烦的从来不是按钮点几下,而是 Excel 已经悄悄改过数据、BOM 头藏在看不见的地方、字段顺序和类型没对齐——这些细节漏掉一个,导入看起来“成功”了,数据却早已错位或失真。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











