UTF8转GBK

在解析读取tinyxml时候,发现读取汉字都是乱码,所以需要转成GBK

 static wstring ConvertUTF8toGBK(const char * strUTF8)
 {
  int len = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)strUTF8, -1, NULL,0);
  TCHAR * wszUtf8 = new TCHAR[len+1];
  wcscpy(wszUtf8, _T(""));
  MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)strUTF8, -1, wszUtf8, len);
  wstring   strTemp(wszUtf8);
  delete   wszUtf8;
  return   strTemp;
 }

 

使用:

 while(NULL != pChildNode)                                         //循环遍历子节点,循环到子节点为空 截止。
 {
  pAttr = pChildNode->FirstAttribute();
  strcpy_s(name, pAttr->Value());

  stringInfo.strID = atoi(name);
  stringInfo.str  = ConvertUTF8toGBK(pChildNode->FirstChild()->Value());
  pChildNode = pChildNode->NextSiblingElement();
  m_stringMap.insert(String_Data(stringInfo.strID, stringInfo.str.c_str()));
 }

转载于:https://www.cnblogs.com/yuzhould/archive/2011/12/08/4454961.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值