后端开发过程遇到的问题总结(1)
在对数据库信息进行存取时遇到了乱码问题,起初以为是数据库端问题,尝试和上次一样对数据库字符集进行初始化操作,结果没有解决,又想到讲编译器设置为多字符集结果仍未解决问题,最后想到在本地进行转码。
select到的res含有中文时:
-
由于数据库是utf8格式,因此要将utf8转换为unicode字符集。
-
由于得到的结果是wstring类型,因此再将其转化为string类型。
向数据库传递中文:
- update含有中文时先设置gbk即可。
- select语句含有中文时将unicode转utf8即可,原理同上。
代码如下:
// wstring转string
string WstringToString(const wstring str) {
unsigned len = str.size() * 4;
setlocale(LC_CTYPE, "");
char* p = new char[len];
wc