Sqlite c++操作数据库中文乱码

char* Utf2Gb(const char* utf8)

{

int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);

wchar_t* wstr = new wchar_t[len + 1];

memset(wstr, 0, len + 1);

MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);

len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);

char* str = new char[len + 1];

memset(str, 0, len + 1);

WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, len, NULL, NULL);

if (wstr) delete[] wstr;

return str;

}

//GB2312到UTF-8的转换

char* GB2Utf(const char* gb2312)

{

int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);

wchar_t* wstr = new wchar_t[len + 1];

memset(wstr, 0, len + 1);

MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len);

len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);

char* str = new char[len + 1];

memset(str, 0, len + 1);

WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);

if (wstr) delete[] wstr;

return str;

}

相关推荐
凯子坚持 c几秒前
Qt常用控件指南(1)
开发语言·数据库·qt
水饺编程几秒前
开源项目介绍:VirtuaNES 模拟器
c语言·c++·windows·visual studio
十五年专注C++开发5 分钟前
CMake进阶:find_package使用总结
开发语言·c++·cmake·跨平台编译
Evand J10 分钟前
【信号处理MATLAB例程】小波变换执行边缘检测、突变点识别和去噪功能。附代码下载链接
数据库·matlab·信号处理
MoonBit月兔14 分钟前
用 MoonBit 打造的 Luna UI:日本开发者 mizchi 的 Web Components 实践
前端·数据库·mysql·ui·缓存·wasm·moonbit
闻缺陷则喜何志丹19 分钟前
【计算几何】平面凸包
c++·数学·扫描线·凸包·单调性·上凸包·下凸包
-To be number.wan25 分钟前
C++ 运算符重载入门:让“+”也能为自定义类型服务!
开发语言·c++
天骄t29 分钟前
HTML入门:从基础结构到表单实战
linux·数据库
qq_3988989331 分钟前
【备忘】ASP.Net MVC无缝对接SQL Server数据库设置步骤
数据库·asp.net·mvc
努力学编程呀(๑•ี_เ•ี๑)34 分钟前
宝塔上的数据库用Navicat如何连接
数据库