1

我输入数据库的查询如下:

sqlite3 database.db < query

我得到了消息:

Error: near line 1: near "SELECT": syntax error

查询以 UTF-8 编码,数据库也是如此。我通过以下方式检查了数据库的编码:

$ sqlite databse.db
sqlite> PRAGMA encoding;
UTF-8

或转换我仍然收到错误消息,

Error: near line 1: near "PRAGMA": syntax error

但文件编码查询与输出一起返回。如果我没有输入上述行,而是将文件格式更改为 ANSI,我没有收到任何错误。为什么 sqlite3 不能自动检测文件格式?是否可以在某处设置默认编码?我在 Windows 中使用 cygwin。

4

1 回答 1

1

显然,您的文件包含一个字节顺序标记,这在 SQL 命令中无效。

为防止 vim 写入 BOM,请:set nobomb在保存前执行。

于 2013-05-20T20:05:57.727 回答