LoveUnix » 编程开发 & Rational » symbian SMS文件读取输出 中文乱码?
让LU留住您的每

一天 让LU博客留住您的每一天
2008-4-5 14:38 yunxing520
symbian SMS文件读取输出 中文乱码?

如题·


咋解决·
RFile file;
        TBuf8<1024>  buf ;
        User:: LeaveIfError(file.Open(fsSession, _L("C:\\smsout\\message0.sms"), EFileRead));
        CleanupClosePushL(file);

        file.Read(0, buf, 1024);
       
         RFileWriteStream writer;
         writer.PushL();
         User:: LeaveIfError(writer.Replace(fsSession, KFileName, EFileWrite));
         writer << buf;

写入TXT文件· 中文乱码· 怎么解决·

[[i] 本帖最后由 蓝色的忧郁 于 2008-4-5 17:08 编辑 [/i]]

2008-4-7 11:15 蓝色的忧郁
搜了一下,找到了两个解决方法.你再参考SDK的例子看一下吧.

方法一:

CnvUtfConverter::ConvertFromUnicodeToUtf8(),把UNICODE转换成UTF-8编码后再显示.

方法二:


[code]CCnvCharacterSetConverter* converter=CCnvCharacterSetConverter::NewLC();
// Check if there is conversion between GBK/GB2312 and unicode
if(converter->PrepareToConvertToOrFromL(KCharacterSetIdentifierUtf8,
CEikonEnv:: Static()->FsSession())!=CCnvCharacterSetConverter::EAvailable)
User::Leave(KErrNotSupported);
TInt state=CCnvCharacterSetConverter:: KStateDefault;
HBufC* aTextBuf = HBufC:: NewL( aStuffData.Length() );
TPtr16 ptr = aTextBuf->Des();
if(CCnvCharacterSetConverter::EErrorIllFormedInput == converter->ConvertToUnicode(ptr, aStuffData, state))
User:: Leave(KErrArgument);  //Leave if error in conversion.
CleanupStack:: PopAndDestroy();  //clean for converter[/code]

[[i] 本帖最后由 蓝色的忧郁 于 2008-4-7 11:16 编辑 [/i]]

2008-4-7 12:37 yunxing520
有具体的例子参考吗?

怎么看不到转换的源目标和转换后的目标?

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.