UTF8与std:string互转
Ajax请求发送的UTF8编码字符串传到后台使用std:string进一步处理,如果包含中文会出现中文乱码的问题:
   
 
特找了一下转码的解决方法,直接代码如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | // UTF8转std:string // 转换过程:先将utf8转双字节Unicode编码,再通过WideCharToMultiByte将宽字符转换为多字节。 std::string UTF8_To_string(const std::string& str) { ); ]; //一定要加1,不然会出现尾巴 ); MultiByteToWideChar(CP_UTF8, , str.c_str(), str.length(), pwBuf, nwLen); , NULL, NULL, NULL, NULL); ]; memset(pBuf, ); WideCharToMultiByte(CP_ACP, , pwBuf, nwLen, pBuf, nLen, NULL, NULL); std::string strRet = pBuf; delete []pBuf;  return strRet;  // std:string转UTF8 std::string strRet(pBuf); delete []pwBuf;  return strRet;  | 
问题解决bingo!
UTF8与std:string互转的更多相关文章
- 构造UTF8的std::string
		在VC++的世界里,MS比较鼓励使用_UNICODE,std::wstring.而在Web, XML则提倡用UTF8.当在C++的程序里要保存/读取XML数据,就存在wstring与string之间的 ... 
- QString 和std::string互转
		std::string cstr; QString qstring; //****从std::string 到QString qstring = QString(QString::fromLocal8 ... 
- ue4 fstring 和std::string互转
		https://forums.unrealengine.com/development-discussion/c-gameplay-programming/6517-convert-std-strin ... 
- VC++ 中使用 std::string 转换字符串编码
		目录 第1章说明 1 1.1 代码 1 1.2 使用 4 第1章说明 VC++中宽窄字符串的相互转换比较麻烦,借助std::string能大大减少代码量. 1.1 代码 函数声明如下 ... 
- 计算std:string的字节长度
		如果项目本身是使用 Unicode 字符集和utf8编码,std::string的length(),size()甚至是c的strLen取到的都是字节长度了,比如三个汉字,就是9, 以上情况不满足的话, ... 
- PHP UTF-8和Unicode编号互转
		PHP UTF-8和Unicode编号互转 /** * utf-8 转unicode * * @param string $name * @return string */ function utf8 ... 
- 如何使用 window api 转换字符集?(std::string与std::wstring的相互转换)
		//宽字符转多字节 std::string W2A(const std::wstring& utf8) { int buffSize = WideCharToMultiByte(CP_ACP, ... 
- java byte数组与String互转
		java byte数组与String互转 CreationTime--2018年7月6日14点53分 Author:Marydon 1.String-->byte[] 方法:使用String ... 
- std::u32string conversion to/from std::string and std::u16string
		I need to convert between UTF-8, UTF-16 and UTF-32 for different API's/modules and since I know have ... 
随机推荐
- gulp监听文件变化,并拷贝到指定目录(转)---参考记录
			###暂时不支持目录修改.创建.删除.var gulp = require('gulp'); var fs = require('fs'); var path = require('path'); v ... 
- html绝对路径与相对路径
			文件,图片和html文档同一个目录的直接写文件名即可(相对路径). 工作中一般使用相对路径,项目放到服务器上部署不能保证绝对路径不出错. 
- Linxu安装Tomcat与Jdk并卸载自带OpenJdk
			下载安装tomcat 1.下载apache-tomcat-7.0.47.tar.gz tomcat压缩包上传到linxu服务器 2.cd到文件存放目录使用(tar -xvzf apache-tomca ... 
- hive常用参数配置设置
			hive.exec.mode.local.auto 决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行) true hive.exec.mode.local.auto.i ... 
- drupal 精彩文章
			1.如何快速查找Drupal表单的Form ID?http://www.drupalla.com/node/2306 
- 【嵌入式】——对#define GPBCON (*(volatile unsigned long*)0x56000010)的理解
			#define GPBCON (*(volatile unsigned long*)0x56000010) 1:volatile 当计算机需要一个数值的时候,会先把内存中的值读取到寄存器,然后下次在使 ... 
- PHP经纬度 测距
			/** *求两个已知经纬度之间的距离,单位为米 *@param lng1,lng2 经度 *@param lat1,lat2 纬度 *@return float 距离,单位米 **/ function ... 
- 分治算法--寻找第k大数
			问题描述:给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k大的元素,(这里给定的线性集是无序的). 其实这个问题很简单,直接对线性序列集qsort,再找出第k个即可.但是这样的 ... 
- 《Qt数据类型》--QByteArray,QString,int,hex之间的转化
			对于QString和QByteArray,他们都有一个toInt的静态函数,QString::toInt()是根据string的字面值转化为int类型,比如string:"123" ... 
- dd 命令 sd卡系统迁移
			Linux系统如果想做备份还原,使用ghost的时候经常出现问题,后来发现可以直接使用dd命令完成硬盘的克隆和还原.当拷贝完硬盘后,就可以拿这个硬盘放到其它设备上跑了.也就是完成了“烧写”了. 实际操 ... 
