-
Notifications
You must be signed in to change notification settings - Fork 17
kerogen-pezy edited this page Jun 21, 2017
·
1 revision
- 列举全部数据库名称:
EXEC sp_databases
这个问题耗费了好长时间,我甚至一度怀疑是不是VS编译器的问题: 我在callback函数中设置了断点,而sqlite3_exec函数却始终不进入回掉函数。 真的是百思不得其解。 最终发现,导致这个问题的原因和大部分极难发现问题的bug原因一样,都是编码问题!
原来sqlite3_exec只接受utf-8的sql语句作为参数,官方API标明了:
The sqlite3_exec() interface runs zero or more UTF-8 encoded, semicolon-separate SQL statements
如果你传入的sql语句参数不是utf-8编码,你便会遭遇与我一样的悲剧。
慎重啊!\早点怀疑编码就好了!!!
以后遇到极为不可思议的问题,首先考虑什么? 该死的编码!
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tb;
sqlite> .output stdout