【发布时间】:2016-04-08 17:45:07
【问题描述】:
我正在尝试.read 包含一些德语字符(变音符号 äöü 和 ß)的 SQLite 脚本:
sqlite>
.open test.db
.read test.sql
我已将 sql 文件保存为没有 BOM 的 utf8,因为 sqlite3 不会使用 BOM 读取它并且仍然抱怨第 1 行错误中的错误,sqlite3 似乎没有将其读取为 utf8,因为当我选择一行时使用ü,我得到的只是问号?。但是,如果我在控制台中添加 ü 并选择同一行,则会显示正确的字符。
我也用 powershell 试过:
Get-Content test.sql -encoding utf8 | .\sqlite3.exe test.db
但结果是一样的(问号)。
执行ut8 sql脚本需要做什么?
(我为每个测试删除了数据库)
【问题讨论】:
-
如果文件没有BOM并且Sqlite不会读取文件with BOM,这里有什么问题?你能澄清一下问题的那部分是什么意思吗?
-
@LasseV.Karlsen 我已经改写了这句话:我已经将 sql 文件保存为没有 BOM 的 utf8,因为 sqlite3 不会使用 BOM 读取它并抱怨第 1 行有错误.
-
问题是它读取垃圾文件就像文件没有用utf8编码一样。
-
当我按照此评论的建议更改控制台的代码页时,我能够导入文件:stackoverflow.com/questions/20269224/… 我也尝试为 powershell 更改它,但它在那里不起作用:(跨度>
-
这个解决方案终于为我工作了stackoverflow.com/a/21759264/235671这很棘手
标签: powershell utf-8 sqlite