前端做项目的网站,芜湖公司做网站,西安网站建设西安,网站建设 浙icp 0578由于用到 RFileWriteStream 写入汉字到文件中#xff0c;之前没有处理过#xff0c;等写入文件后才发现是乱码。 问了问群里的朋友也没有解决#xff0c;后来就上网搜#xff0c;终于找到一个解决方法#xff0c;就是用 CCnvCharacterSetConverter 类 这个类是用来转换Uni…由于用到 RFileWriteStream 写入汉字到文件中之前没有处理过等写入文件后才发现是乱码。 问了问群里的朋友也没有解决后来就上网搜终于找到一个解决方法就是用 CCnvCharacterSetConverter 类 这个类是用来转换Unicode 与其它编码的symbian 用的是 unicode 编码转成汉字只需把 unicode 转为 gbk 就可以了别的不说了看代码吧很简单的 HBufC8* tmpName; CCnvCharacterSetConverter* conv CCnvCharacterSetConverter::NewLC(); for(TInt i0;isels-Count();i) { TPtrC pId (*this-iIdList)[i]; TPtrC pName (*this-iNameList)[i]; TPtrC pPhone (*this-iPhoneList)[i]; if (conv-PrepareToConvertToOrFromL(KCharacterSetIdentifierGbk, this-iEikon-FsSession()) !CCnvCharacterSetConverter::EAvailable ) { User::Leave(KErrNotSupported); } // 这里多加了2个的长度如果不添加上试验时发现少一个汉字 tmpName HBufC8::NewLC(pName.Length()2); TPtr8 pTmpName tmpName-Des(); conv-ConvertFromUnicode(pTmpName,pName); CXmlNode* aNode node-AddChildNote(bufPhone); CXmlNode* idNode aNode-AddChildNote(bufId); idNode-SetValue(pId); CXmlNode* nameNode aNode-AddChildNote(bufName); nameNode-SetValue(pTmpName); // 写入 gbk 编码 CXmlNode* numNode aNode-AddChildNote(bufNum); numNode-SetValue(pPhone); CleanupStack::PopAndDestroy(); } CleanupStack::PopAndDestroy(); doc-SaveToFileL(); 这里是主要的代码红色标出是用到的转换 安平2009原创qi_jianzhou126.com转载于:https://www.cnblogs.com/zziss/archive/2010/07/12/1775927.html