You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除SQL文件开头的不可见Unicode字符以解决MariaDB导入语法错误?

如何去除SQL文件开头的不可见Unicode字符以解决MariaDB导入语法错误?

看起来你的SQL文件开头带了UTF-8的字节顺序标记(BOM)——就是那些显示成??的不可见字符,这通常是Windows下的编辑器保存UTF-8文件时自动加上的,但MariaDB的SQL解析器没法识别这个开头的特殊字符,所以才会抛出语法错误。下面给你几个实用的解决办法:

方法一:用文本编辑器手动去除BOM

  • 如果你用Notepad++:打开data.sql后,点击顶部菜单栏的「编码」,选择「UTF-8 无BOM格式」,然后保存文件即可。
  • 如果你用VS Code:打开文件后,点击右下角的编码标识(比如显示「UTF-8 with BOM」),在弹出的菜单里选择「UTF-8」(不带BOM的选项),再保存文件。

方法二:用命令行工具批量处理(Linux/macOS或Windows的Git Bash/WSL)

直接用sed命令删除文件开头的BOM字符,执行以下命令即可:

sed -i '1s/^\xEF\xBB\xBF//' data.sql

这个命令会精准定位文件第一行开头的BOM标记(十六进制的EF BB BF),并将其替换为空。

方法三:Windows PowerShell专用命令

如果你习惯用PowerShell,可以用以下命令转换文件编码,去掉BOM:

Get-Content data.sql -Encoding UTF8 | Set-Content -Encoding UTF8NoBOM data.sql

临时应急方案(不推荐长期使用)

如果着急导入数据,也可以临时跳过文件的第一行(因为第一行只是注释,不影响数据):

mysql -u 你的用户名 -p 你的数据库名 < <(tail -n +2 data.sql)

不过还是建议用前面的方法彻底去除BOM,避免后续其他工具处理文件时再出问题。

备注:内容来源于stack exchange,提问作者anjanesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 09:20:30