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
所以我首先准备好那个占位符“?”的声明,然后我把我的文本绑定到它,对吧? –