进行POST提交时,需要对提交的表单数据进行处理。
VS2019 ,WIN10,可用。escapeURL函数第一个if语句里,可以设置编码转换时包含的特殊字符,可以根据自己的需要进行修改,增加或删除。
一般情况下,分两步走。
一、处理成UTF8编码。下面代码直接粘贴在cpp文件中。
namespace gconvert
{
#ifdef _WIN32
static int multi2uni(const std::string& multi, std::wstring& uni, UINT code)
{
auto len = MultiByteToWideChar(code, 0, multi.c_str(), -1, nullptr, 0);
if (len <= 0)
{
std::cerr << __FILE__ << " : " << __LINE__ << " : " << GetLastError() << std::endl;
return -1;
}
WCHAR* buf = new WCHAR[len];
if (buf == nullptr)
{
std::cerr << __FILE__ << " : " << __LINE__ << " : " << "can not new buf, size : " << len << std::endl;
return -2;
}
len = MultiByteToWideChar(code, 0, multi.c_str(), -1, buf, len);
uni.assign(buf);
delete[]buf;
buf = nul