delphi 连接sqlite数据库,如果路径为中文,则需转换成UTF8格式,但有时候转换成UTF8格式后还是会报 SQLSetConnectAttr 失败。
比如 若路径为 F:\2011年4月\123.db3, 用AnsiToUtf8()转换后,连接还是会报错。我再试了一下其他路径,比如 F:\学习\2011年月\123.db3 , 这个路径转换成Utf8后,数据库又能正常连接。那这样网上笼统说的把中文转换成Utf8格式不能解决问题啊,有谁知道具体的解决办法?
比如 若路径为 F:\2011年4月\123.db3, 用AnsiToUtf8()转换后,连接还是会报错。我再试了一下其他路径,比如 F:\学习\2011年月\123.db3 , 这个路径转换成Utf8后,数据库又能正常连接。那这样网上笼统说的把中文转换成Utf8格式不能解决问题啊,有谁知道具体的解决办法?
//var db: TSQLiteDB; ErrMsg: pchar; DataBase: pchar;
SQLite3_Open(pchar(AnsiToUtf8(DataBase)), db);
...
SQLite3_Exec(db, pchar(SQL), nil, nil, ErrMsg);请注意:你自己调用SQLite3API,无论路径是否中文,都要用AnsiToUtf8转换,这样程序才健壮些
然后 设置为utf-8 就可以解决了