c 中sqlite中文路徑建立資料庫失敗的問題

2022-05-02 15:45:10 字數 712 閱讀 2070

sqlite3裡面使用的是utf-8的編碼,所以在建立資料庫的時候若果路徑是純英文本母和數字的話,那麼多ansii和utf-8編碼是一樣的,這個時候sqlite3_open函式的呼叫完全沒問題。但是如果是中文的話asnsii直接轉化為utf-8就會出錯, 找不到路徑,從而建立或者開啟資料庫失敗。解決的方法如下:

//

sdk中可以直接從unicode轉為utf-8,不能直接從ansii轉為utf-8

//所以 ansii要轉為utf-8, 需要先轉為unicode 再轉為utf-8

void unicodetoutf8(char** dest , const wchar*src)

void ansitoutf8(char** dest, const

char*src) //

建立\開啟資料庫

//szcreatetable="c:\\program files\\溜溜\\test.db"

char* pszcreatesql =null;

//沒有這句建立或者開啟失敗

ansitoutf8(&pszcreatesql, szcreatetable);

/////////

//if ( sqlite3_open(/*

szcreatetable

*/pszcreatesql, ppdb) !=sqlite_ok)

else

{}

sqlite解決中文路徑問題

sqlite解決中文路徑問題,以前研究sqlite時候遇到的中文路徑問題的解決方法 ansistring cb中的字串類,其它編譯器用std string替換即可.multibytetowidechar是windows api ansistring filename intstrsize filen...

C 中sqlite中文亂碼問題

前段時間寫資料儲存與恢復用到了sqlite,結果遇到了乙個很讓人糾結的問題,那就是sqlit再對中文進行操作是出項亂碼,寫入是有亂碼,讀出來時也會有亂碼。因為sqlit對應的是utf8編碼,而我們平時的字元傳都是uncoid編碼和ascii編碼,而這有很大的區別,這裡不做解釋,而sqlit的所有操作...

sqlite中建立表

例如 建立乙個actor表,包含如下列資訊 注 sqlite獲取系統預設時間是datetime now localtime 列表型別 是否為null 含義actor id smallint 5 not null 主鍵id first name varchar 45 not null 名字last n...