1
我正在C++中工作,我正在處理SQLite數據庫。考慮這個:C++中的寬字符串SQLite查詢
wchar_t s[] = L"This is my wide string. ĂÎȘȚÂăîșțâ";
我應該怎麼做才能啓動包含此字符串的查詢?我看到,如果我宣佈我的查詢,例如
char q[] = "SELECT * FROM 'mydb' WHERE 'something' LIKE '%ĂÎȘȚÂ%'";
的編譯器足夠聰明以某種方式轉換的寬字符和查詢實際工作按預期。但是,仍然應該如何聲明/創建查詢字符數組以包含那些討厭的字符?我試着用string
及其c_str
方法,wstring
等..
我很絕望。在此先感謝您提供任何建議。
精彩的回答。但是,如何使用窄字符UTF-8編碼的字符串? (原諒我,這可能是一個愚蠢的請求,但我沒有那麼有經驗。) –
@PetruDimitriu:這取決於你想如何「使用」它。如果你將它讀寫到文件或SQLite數據庫中,或者如果你執行大部分其他繁瑣的任務(如搜索ASCII子字符串),那麼你就會忘記它是UTF-8並將其視爲cookie--實質上不會改變代碼。如果你想把文本寫到屏幕上,它變得更加棘手,因爲在Unicode支持下沒有可行的方法。看到鏈接的文章如何與他們合作。 – ybungalobill
所以我首先準備好那個佔位符「?」的聲明,然後我把我的文本綁定到它,對吧? –