国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數據庫 > SQLite > 正文

sqlite中文亂碼問題原因分析及解決

2020-01-31 15:12:37
字體:
來源:轉載
供稿:網友
在VC++中通過sqlite3.dll接口對sqlite數據庫進行操作,包括打開數據庫,插入,查詢數據庫等,如果操作接口輸入參數包含中文字符,會導致操作異常。例如調用sqlite3_open打開數據庫文件,如果文件路徑出現中文,就會導致打開失敗。sqlite3_exec執行sql語句,如果包含中文對應字符就會變成亂碼。

這是由于sqlite數據庫使用的是UTF-8編碼方式,而傳入的字符串是ASCII編碼或Unicode編碼,導致字符串格式錯誤。解決方案是在調用sqlite接口之前,先將字符串轉換成UTF-8編碼,以下提供各種字符串編碼轉換函數。
復制代碼 代碼如下:

//UTF-8轉Unicode
std::wstring Utf82Unicode(const std::string& utf8string)
{
int widesize = ::MultiByteToWideChar(CP_UTF8, 0, utf8string.c_str(), -1, NULL, 0);
if (widesize == ERROR_NO_UNICODE_TRANSLATION)
{
throw std::exception("Invalid UTF-8 sequence.");
}
if (widesize == 0)
{
throw std::exception("Error in conversion.");
}
std::vector<wchar_t> resultstring(widesize);
int convresult = ::MultiByteToWideChar(CP_UTF8, 0, utf8string.c_str(), -1, &resultstring[0], widesize);
if (convresult != widesize)
{
throw std::exception("La falla!");
}
return std::wstring(&resultstring[0]);
}
//unicode 轉為 ascii
string WideByte2Acsi(wstring& wstrcode)
{
int asciisize = ::WideCharToMultiByte(CP_OEMCP, 0, wstrcode.c_str(), -1, NULL, 0, NULL, NULL);
if (asciisize == ERROR_NO_UNICODE_TRANSLATION)
{
throw std::exception("Invalid UTF-8 sequence.");
}
if (asciisize == 0)
{
throw std::exception("Error in conversion.");
}
std::vector<char> resultstring(asciisize);
int convresult =::WideCharToMultiByte(CP_OEMCP, 0, wstrcode.c_str(), -1, &resultstring[0], asciisize, NULL, NULL);
if (convresult != asciisize)
{
throw std::exception("La falla!");
}
return std::string(&resultstring[0]);
}
//utf-8 轉 ascii
string UTF_82ASCII(string& strUtf8Code)
{
string strRet("");
//先把 utf8 轉為 unicode
wstring wstr = Utf82Unicode(strUtf8Code);
//最后把 unicode 轉為 ascii
strRet = WideByte2Acsi(wstr);
return strRet;
}
///////////////////////////////////////////////////////////////////////
//ascii 轉 Unicode
wstring Acsi2WideByte(string& strascii)
{
int widesize = MultiByteToWideChar (CP_ACP, 0, (char*)strascii.c_str(), -1, NULL, 0);
if (widesize == ERROR_NO_UNICODE_TRANSLATION)
{
throw std::exception("Invalid UTF-8 sequence.");
}
if (widesize == 0)
{
throw std::exception("Error in conversion.");
}
std::vector<wchar_t> resultstring(widesize);
int convresult = MultiByteToWideChar (CP_ACP, 0, (char*)strascii.c_str(), -1, &resultstring[0], widesize);
if (convresult != widesize)
{
throw std::exception("La falla!");
}
return std::wstring(&resultstring[0]);
}
//Unicode 轉 Utf8
std::string Unicode2Utf8(const std::wstring& widestring)
{
int utf8size = ::WideCharToMultiByte(CP_UTF8, 0, widestring.c_str(), -1, NULL, 0, NULL, NULL);
if (utf8size == 0)
{
throw std::exception("Error in conversion.");
}
std::vector<char> resultstring(utf8size);
int convresult = ::WideCharToMultiByte(CP_UTF8, 0, widestring.c_str(), -1, &resultstring[0], utf8size, NULL, NULL);
if (convresult != utf8size)
{
throw std::exception("La falla!");
}
return std::string(&resultstring[0]);
}
//ascii 轉 Utf8
string ASCII2UTF_8(string& strAsciiCode)
{
string strRet("");
//先把 ascii 轉為 unicode
wstring wstr = Acsi2WideByte(strAsciiCode);
//最后把 unicode 轉為 utf8
strRet = Unicode2Utf8(wstr);
return strRet;
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
免费高清视频日韩| a级片国产精品自在拍在线播放| 日本片在线看| 青青免费在线视频| 福利资源在线久| 国产精品伦一区二区三区级视频频 | 国产精品剧情一区二区三区 | 国产午夜精品久久久久免费视| 国产精品自拍亚洲| 国产图片综合| 亚洲永久免费网站| 好看的中文字幕在线播放| 国产一级粉嫩xxxx| av在线不卡免费| 九九在线免费视频| 国产高清在线观看| 午夜影院免费看| 五月综合网站| 日本久久网站| 2018av男人天堂| 日本亚洲精品| 国产95在线|亚洲| 国产精品综合久久久久| 精品国内一区二区三区免费视频| 免费av不卡在线观看| 7777在线| 国产网红在线| 天天操人人干| 免费a在线观看| 在线观看精品一区二区三区| 国产一起色一起爱| 日本中文字幕在线看| 免费在线你懂的| jizz性欧美| 亚洲欧洲成人| 制服丝袜中文字幕在线观看| 国产福利在线免费观看| 国产网友自拍电影在线| 国产美女自拍视频| 天堂资源在线中文| 国产精选在线观看| 日本中文字幕视频| 国产午夜在线视频| 国产超碰在线观看| 在线观看中文字幕一区| 亚洲视频日韩| 成av人免费青青久| 尤物视频在线观看| 2018中文字幕在线| 91欧美在线视频| 亚洲天堂久久久| 四虎久久影院| 九色福利视频| 国产一级黄色| 亚洲伊人网在线观看 | 91在线高清| 精品国内自产拍在线视频| 在线视频观看国产| 九九热视频免费观看| 五月婷婷导航| 99在线欧洲视频| 免费a级毛片在线播放| 国产精品自拍在线观看| 日韩av成人| 精品女厕厕露p撒尿| av在线网页| 国产九九九九| 在线天堂中文www视软件| 女子免费在线观看视频www| 最好2018中文免费视频| 91久久精品国产性色| 啪啪免费视频一区| 国产寡妇树林野战在线播放| 青青免费在线视频| 国产精品秘入口| 全网国产福利在线播放| 国产一区二区三区四区尤物| 永久免费av片在线观看全网站| 日本免费黄色| 中文字幕亚洲精品视频| 亚洲天堂视频在线观看免费| 国精一区二区三区| 小说区乱图片区| 国产精品美女一区二区三区四区 | 国产调教视频在线观看| 日本黄色免费网址| 国产对白在线| 蜜桃视频中文字幕| 在线视频福利| 尤物在线网址| 国产精品一区在线看| 天天插天天射| 永久av在线| 精品176二区| 国产经典av| 最近中文字幕mv免费高清在线| 在线午夜视频| 精品一区二区在线欧美| 国产高清在线看| 国产二区视频在线观看| 国产精品久久久久白浆| 国产青青草在线| 国产精品国精产品一二| 国产精品区一区二| 国产一级片网站| 最近中文字幕mv免费高清视频8| 国产在线观看色| 国产精品综合久久久久| √天堂资源地址在线官网| 最新天堂资源在线资源| 最近高清中文在线字幕在线观看| 99热在线免费播放| 国产视频2区| 国产经典自拍视频在线观看 | 阿v免费在线观看| 人成在线免费视频| 国产69精品久久久久孕妇国产69久久 | 国产网站观看9久| 国产深夜福利| aaa大片在线观看| 丝袜理论片在线观看| 任你操视频在线观看| 狠狠综合久久久综合| 国产欧美黑人| av在线官网| 国产精品久久久久久久久鸭| 亚洲第一区视频| 国产麻豆精品一区二区三区v视界| 最近中文字幕在线中文视频 | 青青草视频在线免费观看| 最近最好的中文字幕2019免费 | 国产免费黄网站| 国产福利视频在线观看| 日本电影全部在线观看网站视频| 尤物视频在线看| 欧美性xxxx交| 91涩漫在线观看c| 狠狠操视频网站| 亚洲欧美中文字幕在线观看| 99热在线观看免费| 久热久精久品这里在线观看| 国产高清自拍视频在线观看| 欧美日韩亚洲第一页| 91在线超碰| 国产黄视频网站| 午夜视频免费在线观看| 女子免费在线观看视频www| 精品国产高清自在线一区二区三区| 黄色毛片在线观看| 不卡av免费观看| 亚洲精品自拍区在线观看| 国产色在线 com| 91超碰在线免费| 国自产拍在线网站网址视频| a视频在线看| 在线黄色.com| av男人的天堂网| 国产高清免费av在线| 国产视频福利在线| 国产网站麻豆精品视频| 国产网站在线播放| 国产经典av| √天堂资源中文www| 国产精品久久久久久精| √天堂资源中文www| 国产高清免费视频| 精品a在线观看| 99re6在线视频精品免费| 精品a在线观看| 精品卡1卡2卡三卡免费网站| 精品国内自产拍在线视频| 精品无人区乱码1区2区3区免费| 国产小视频在线播放| 国产精品黄页网站在线播放免费| 国产女主播在线观看| 97人人在线| 青青青国产视频| 国产鲁鲁视频在线观看免费| 国产免费网址| 国产人成在线视频| 亚洲jjzzjjzz在线观看| 欧美色欧美亚洲另类二区精品| 久久精品最新免费国产成人| 天天操夜夜摸| 亚洲www色| 尤物网址在线观看| 中文字幕av在线播放| 亚洲成人在线播放| 国产在线你懂得| 99热免费观看| 尤物网在线观看| 日本一级理论片在线大全| 国产一级在线| 亚洲精品aaaa精品| 国产青青草在线| 久草视频国产| 亚洲免费国产| 18 激情视频在线| 在线91av| 二区中文字幕|