首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Symbian >

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

2012-02-25 
请大家帮帮忙-Symbian ConvertFromUnicodeToUtf8 乱码问题各位大侠,请帮帮忙我用的是Symbian 3rd,遇到个非

请大家帮帮忙-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编码

只要满足上面的条件,你客户端转码就是正常的,要是服务器不能正常显示中文,那就是服务器的问题了

热点排行