中文路径

sqlite中文路径非常规解决方案

孤街浪徒 提交于 2020-03-13 21:06:07
前段时间做了个软件,用.net做的,用户和软件的一些配置内容用sqlite3来存储. 于是把sqlite3编译成dll并在C#/CLR里调用. 测试了下,发现sqlite3不支持中文路径,有些带空格的路径(Program Files,Document and settings等),打开数据库会出错. 查了下文档,好像编码的问题(UTF-8,UTF-16等),因为这方面内容比较多,没有细看,所以想了一些非常规的解决方法 先看常见的打开数据库 /*相对路径方法:打开当前目录下的test.sb,如果不存在这个db则创建*/ sqlite3* db; int rc = sqlite3_open("test.db",&db); /*绝对路径方法:比如打开C盘下的test.sb,如果不存在这个db则创建*/ sqlite3* db; int rc = sqlite3_open("C:\\test.db",&db); /*会出现问题的方式:比如打开C:\Program Files目录下的test.sb,如果不存在这个db则创建*/ sqlite3* db; int rc = sqlite3_open("C:\\Program Files\\test.db",&db); /*会出现问题的方式1:比如打开C:\实验文件夹\目录下的test.sb,如果不存在这个db则创建*/ sqlite3* db;