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...