查看完整版本: [-- QURL中的要写入中文怎么处理. --]

QTCN开发网 -> Qt中文处理 -> QURL中的要写入中文怎么处理. [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

songzhao831 2014-06-24 21:42

QURL中的要写入中文怎么处理.

QString url="http://ums.zj165.com:8888/sms/Api/Send.do?SpCode=用户您好187
Qurl(url) 这样好像不行,
服务器要求GB2312的编码,  有什么办法可以转的?

toby520 2014-06-24 23:11
不是把,一般服务器都是utf8编码 你们服务器真奇葩,看下转码的那些类方法吧

songzhao831 2014-06-26 09:47
已经搞定, 给写下总结, 希望能帮到别人.

很多短信SP厂商都是要求是GB2312编码的中文. 如果你要发短信的话, 你传过去的URL里的中文部分必须是GB2312的. 但QT中, QString是unicode编码. 所以不能直接用QString来构造QURL.

解决办法是. 自己先把中文部分进行percentEncodeing. 再把url连接起来, 代码不在身边. 大概是这么做:
Codec::fromName("GB2312").
bytearrary byte = codec->fromunicode("你要发的中文部分, 记住只是中文部分").
byte=byte.percentEncodeing()  //转成带百分号的已经编码的url格式.
reallurl = url+byte;
Qurl=url.fromEncoded(reallurl) //用我们已经编码过的url. 不让qurl再编码.
Qnetworkreplay(qurl)//传送即可.

有什么问题请给我留言或消息.


查看完整版本: [-- QURL中的要写入中文怎么处理. --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled