#ifndef
__WINS__
//我屏蔽了这句才会中文
TInt state=CCnvCharacterSetConverter::KStateDefault ;
CCnvCharacterSetConverter* iConv ;
iConv = CCnvCharacterSetConverter::NewLC();
if(iConv->PrepareToConvertToOrFromL(KCharacterSetIdentifierGbk,
iEikonEnv->FsSession())!=CCnvCharacterSetConverter::EAvailable)
User::Leave(KErrNotSupported);
iConv->ConvertFromUnicode(res, original, state)
;
CleanupStack::PopAndDestroy() ;
//下面这段照样屏蔽
#else
res.Format(_L8("wayne chen %s"), original) ;
#endif
}
具体的使用方法:
TBuf8<20> title8 ;
TBuf<20> title16
;
TBuf8<20> msg8
;
TBuf<20>
msg16 ;
title8.Format(_L8("云云")) ;
ConvGbk2Uni(title8, title16) ;
msg8.Format(_L8("云云^")) ;
即可,现在title16和msg16里面都存放的是16位的unicode中文字符串了,可以直接显示了。