c 中關於SQLite中文亂碼的解決方法

2021-07-11 03:15:41 字數 971 閱讀 3977

在使用sqlite的過程中(c++),如果建立乙個表,如果sql語句中包含中文字元,就會報錯;如果是從資料庫表中查詢資料,如果資料庫表中的某些欄位為中文,查詢結果也不能正常顯示,出現這種情況的原因是因為sqlite的編碼與工程的編碼不一致造成的。

sqlite的編碼預設為utf-8編碼,而vc++工程中所編寫的sql語句,可能是unciode或者ascii碼,特別是ascii碼,如果不進行轉換,寫入資料庫以及從資料庫中讀出的數,都會是亂碼(只針對中文字元),因此,本文主要寫一下各種編碼下的編碼轉換:

//將ascii碼轉換為utf8編碼

void asciitoutf8(char cacsii , char cutf8 )

//將utf-8編碼轉換為ascii編碼

void utf8toascii(char *cutf8 , char ascii)

//將ascii編碼轉換為unicode編碼

void asciitounicode(char cascii,wchar_t wcunicode)

//將unicode編碼轉換為utf-8編碼

void unicodetoutf8(wchar_t wcunicode , char cutf8 )

//將utf-8編碼轉換為unicode編碼

void utf8tounicode(char *cutf8 , wchar_t wcunicode)

//將unicode編碼轉換為ascii編碼

void unicodetoutf8(wchar_t wcunicode,char cascii)

C 中sqlite中文亂碼問題

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

Air 連線 sqlite 中文亂碼

昨晚寫了一些sqlite用法,今天又實際操作遇到的新問題。修改表名 alter table table name rename to new table name 例如 alter table message2 rename to message 備份資料庫 sqlite backup kun.ba...

關於中文亂碼

解決post request.setcharacterencoding urf 8 解決get 在server.xml中加uriencoding utf 8 browser iso8859 1 server string s 中文 中文亂碼的萬能解決方式 先解碼 將亂的資料再次還原為最初的位元組陣列...