BigQuery执行bq query命令运行sql文件报非法输入字符\357错误如何处理
报错原因
Syntax error: Illegal input character "\357"是由text_file.sql文件携带的UTF-8 BOM(字节顺序标记)导致的。BigQuery控制台会自动忽略这类前置隐藏字符,但bq命令行工具无法识别,会将其判定为非法输入。你设置的UTF-8编码是带BOM的版本,因此仍然会触发报错。
修复方案
- Windows环境:用Notepad++等文本编辑器打开.sql文件,在「编码」菜单中选择「UTF-8编码(无BOM)」,重新保存文件即可。
- macOS/Linux环境:直接在终端执行命令移除BOM头,可用命令如下:
sed命令直接移除:
sed -i '1s/^\xef\xbb\xbf//' text_file.sql- 用
dos2unix工具转换:
dos2unix text_file.sql - 验证修复结果:执行以下命令检查文件头,确认BOM已被移除:
输出结果的前3个字节如果不是head -c 3 text_file.sql | hexdump -Cef bb bf即代表修复成功,重新运行bq query命令即可正常执行查询。
内容的提问来源于stack exchange,提问作者jenny12
相关产品推荐
相关产品推荐

