专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Symbian

请大家帮帮忙-Symbian ConvertFromUnicodeToUtf8 乱码有关问题

发布时间:2010-05-30 00:34:03 文章来源:www.iduyao.cn 采编人员:星星草
请大家帮帮忙-Symbian ConvertFromUnicodeToUtf8 乱码问题
各位大侠,请帮帮忙
我用的是Symbian 3rd,遇到个非常棘手的问题。
我用了CAknSettingItemList从手机上输入了汉字存放在了TBuf<20>中

现在需要把这个输入传递到服务器,服务器端用UTF-8接收。
所以我在发送前也需要把字符串转成UTF-8。

我在转码前跟踪程序发现字符串是Unicode编码。我检验了一下,从手机端输入汉字“一”,在TBuf<20>中存储的是“\x4E00”,查了一下,这是“一”正确的Uicode编码。

所以我在发送前用ConvertFromUnicodeToUtf8方法进行转码,这时跟踪程序就发现字符串已经是乱码了。这是为什么呢?



------解决方案--------------------
"像汉字,但不知道是否是汉字" 这个比较经典~

TInt ret = -1;
TBuf<20> postdate; 
postdate.Append(_L("\x4E00")); //汉字“一”

TBuf8<40> postdate8; 
ret = CnvUtfConverter::ConvertFromUnicodeToUtf8(postdate8, postdate); 

执行上面的代码后,检查一下:
1. ret==0? (0表示成功)
2. 在调试状态,查看postdate8变量,postdate8[0]=0x80,postdate8[1]=0xB8,postdate8[2]=0xE4 //汉字“一”的UTF编码

只要满足上面的条件,你客户端转码就是正常的,要是服务器不能正常显示中文,那就是服务器的问题了
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: