RFileWriteStream 写入汉字

由于用到 RFileWriteStream 写入汉字到文件中,之前没有处理过,等写入文件后才发现是乱码。

问了问群里的朋友也没有解决,后来就上网搜,终于找到一个解决方法,就是用 CCnvCharacterSetConverter 类

这个类是用来转换Unicode 与其它编码的,symbian 用的是 unicode 编码,转成汉字,只需把 unicode 转为 gbk

就可以了,别的不说了,看代码吧,很简单的

HBufC8*  tmpName;
  CCnvCharacterSetConverter* conv = CCnvCharacterSetConverter::NewLC();
  for(TInt i=0;i<sels->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_jianzhou@126.com

转载于:https://www.cnblogs.com/zziss/archive/2010/07/12/1775927.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql同时查两张表数据库表_如何同时查询两个数据库表?

展开全部 sql多表关联查询跟条件查询大同小异,主要是要知道表与表之前的关系很重e69da5e6ba9062616964757a686964616f31333431353238要; 举例说明:(某数据库中有3张表分别为:userinfo,dep,sex) userinfo(用户信息表)表中有三个字段分别为:user_di(用户编号),user_name(用…

200万年薪,招不到清华姚班毕业生,能上姚班的都是什么人?

全世界只有3.14 % 的人关注了爆炸吧知识清华姚班可能很多人都没有听说过&#xff0c;不是我们孤陋寡闻&#xff0c;而是姚班确实是不一般的存在。即便是在清华&#xff0c;姚班的学霸也是可以碾压其他学霸的。在清华有一句话&#xff0c;半国英才聚清华&#xff0c;清华半英在姚…

[分享]我国食品行业ERP现状及分析解决方案

一。食品行业介绍&#xff1a;  我国食品行业是一个竞争非常激烈的行业&#xff0c;平均利润率很低&#xff0c;但市场空 间巨大&#xff0c;产销均有大幅提高的空间。在今后发展中&#xff0c;食品的消费与需求将完成由追求数量向追求质量、营养、安全、多样和方便型的转…

分布式拒绝服务攻击(DDoS)原理及防范

转自:http://www.cnblogs.com/rootq/archive/2009/11/06/1597215.html http://www.ibm.com/developerworks/cn/security/se-ddos/ 2002 年 6 月 01 日 分布式拒绝服务攻击&#xff08;DDoS&#xff09;是目前黑客经常采用而难以防范的攻击手段。本文从概念开始详细介绍了这种攻…

Blazor 应用如何使用 Azure Active Directory 认证登录

点击上方蓝字 / 关注“汪宇杰博客”原文&#xff1a;Azure Tips and Tricks翻译&#xff1a;汪宇杰使用 Azure Active Directory 保护您的应用程序您可以使用 Azure Active Directory (AAD) 让用户进行身份验证并授权使用您的应用。AAD 提供了一种智能身份即服务来保护您的应用…

python notebook右侧网页_《Python web开发》笔记 一:网页开发基础

网页基础知识网页的构成网页由html、css和Javascript构成&#xff0c;html是框架&#xff0c;CSS是样式和装饰&#xff0c;JS则是各项功能实现。我们把网页的组成类比成一栋房子&#xff0c;Html相当于房子的结构&#xff0c;CSS相当于房子的装修装饰&#xff0c;JavaScript相当…

jQuery中this与$(this)区别

起初以为this和$(this)就是一模子刻出来。但是我在阅读时&#xff0c;和coding时发现,总不是一回事。 What is "this"? In many object-oriented programming languages, this (or self) is a keyword which can be used in instance methods to refer to the objec…

推荐几个超有趣的公众号

全世界只有3.14 % 的人关注了爆炸吧知识想要和别人有聊不完的话题&#xff1f;当然是多读书多看新闻了解新鲜有趣的事物啦如果你没有时间去阅读那么关注以下公号将会让你收获更多信息~长按下方二维码选择“识别图中二维码”订阅疯狂历史ID&#xff1a;fkhistory▼ 简介&#xf…

省钱之道--图解域域树域林根域的含义

如图&#xff1a;contoso这家公司的IT环境中有很多类型的IT资源&#xff0c;而目前这些IT资源都处于一个分散管理的状态中&#xff0c;这样无形中增加了contoso这家公司的管理成本&#xff0c;而且管理制度没有办法落实到实际的生产环境中去。那么&#xff0c;如何解决这个问题…

动态表单实现客户端二次过滤及字段汇总统计

最终效果动态表单 1、表格分录首行出现客户端二次过滤行2、表格分录最后一行出现汇总行实现代码转载于:https://www.cnblogs.com/fyq891014/p/4188779.html

SqlBulkCopy只支持SQL Server? EF Core实现支持多数据库类型的Bulk Copy

前言Microsoft SQL Server包含一个名为bcp的命令行实用工具&#xff0c;可以将较大文件快速大容量复制到SQL Server数据库的表或视图中&#xff0c;这种方法被称为Bulk Copy(批量复制)。Bulk Copy相比与循环插入有很大的性能优势&#xff0c;网上有很多测试文章&#xff0c;这里…

小小一招解决“INSERT EXEC 语句不能嵌套”的问题

先看代码CreateProcedureup_test1 asSelect1111--这里没有问题 goCreateProcedureup_test2 AScreatetable#tt (a Varchar(4)) insertinto#tt Execup_test1 goCreateProcedureup_test3 asCreateTable#ttt (b varchar(4)) InsertInto#ttt Execup_…

word2013插入excel对象报错_在Word文档中修改嵌入的Excel对象

好吧,我做到了!感谢Remou发布的链接。在我跨过最初的障碍后,它确实提供了一些支持。。。这是我的代码:WordApp.Documents.Open("C:\Report.docx")Dim iOLE As Int16Dim oSheet As ObjectDim oOLE As ObjectFor iOLE 1 To WordApp.ActiveDocument.Content.ShapeRange…

取消IE不允许下载文件的提示

首先&#xff0c;要在迅雷“配置”——监视——在“监视浏览器”勾选&#xff08;要新版本的老版本没有此项&#xff0c;如果你使用的迅雷没有此项&#xff0c;点击帮助里面的“检查更新”升级既可&#xff09;&#xff0c;在设置里选“使用迅雷作为默认的下载工具”&#xff0…

让TA们告诉你,疫情当下如何更彪悍的成长

全世界只有3.14 % 的人关注了爆炸吧知识真正决定人与人之间的差距的&#xff0c;其实是我们对事物的见识与内心的格局&#xff0c;见识的深浅决定人生的深浅&#xff0c;格局的大小决定了人生之路是宽是窄。今天给大家推荐几个有深度、有想法的公众号&#xff0c;希望能够给你带…

WEB前端开发规范

为什么80%的码农都做不了架构师&#xff1f;>>> 一、文件命名规范 images //图片资源&#xff0c;如果项目多人开发里面还需要用子文件夹分开fonts //字体资源&#xff0c;一般就是特殊字体嵌入或者图标字体styles //CSS文件- app.css //reset样式,如果项目小…

Execute .NET Code under SQL Server 2005

http://www.codeproject.com/KB/database/Managed_Code_in_SQL.aspx转载于:https://www.cnblogs.com/OceanChen/archive/2010/07/22/1783091.html

MySQL调用mongodb事务回滚_SpringBoot整合MongoDB,在多数据源下实现事务回滚。

项目中用到了MongoDB&#xff0c;准备用来存储业务数据&#xff0c;前提是要实现事务&#xff0c;保证数据一致性&#xff0c;MongoDB从4.0开始支持事务&#xff0c;提供了面向复制集的多文档事务特性。能满足在多个操作&#xff0c;文档&#xff0c;集合&#xff0c;数据库之间…

Goreplay来做流量回放

最近做项目&#xff0c;用到goreplay来做流量回放&#xff0c;什么是goreplay&#xff1f;GoReplay is an open-source network monitoring tool which can record your live traffic, and use it for shadowing, load testing, monitoring and detailed analysis.本质上就是通…

硬盘知识学习(一)

硬盘相关常识&#xff08;一&#xff09;一、硬盘的组成硬盘粗略的讲&#xff0c;包括碟片、磁头&#xff0c;主轴、接口、缓存等组成。二、硬盘的三个基本概念1&#xff0c;什么是磁道&#xff08;TRACK&#xff09;。磁道首先是看不到的。他是在格式化的时候在盘面上划分出的…