5. 显示中文汉字(2种方法)
1) 在RSS资源文件里面定义RESOURCE TBUF64 r_example_view_title { buf = "新年快乐";}然后将其另存为成UTF8编码,在此RSS文件头部添加CHARACTER_SET UTF8,否则无法编译,然后在程序里面调用,就能显示中文了。
2) 用系统CcnvCharacterSetConverter API来转换CCnvCharacterSetConverter* converter=CCnvCharacterSetConverter::NewLC();
if(converter->PrepareToConvertToOrFromL(KCharacterSetIdentifierGbk, iEikonEnv->FsSession())!=CCnvCharacterSetConverter::EAvailable)
User::Leave(KErrNotSupported); TText8 *str = (TText8*)"新年快乐";
TInt state=CCnvCharacterSetConverter::KStateDefault;
TPtrC8 source( str );
iInfoText = HBufC::NewL( source.Length() );
TPtr16 ptr = iInfoText->Des();
if(CCnvCharacterSetConverter::EErrorIllFormedInput == converter->ConvertToUnicode(ptr, source, state)) User::Leave(KErrArgument);
//Leave if error in conversion.CleanupStack::PopAndDestroy(); //clean for converter随后你就可以Draw出中文字体了,前提是你设备内有中文字库
3)使用CnvUtfConverter类中的
CnvUtfConverter::ConvertToUnicodeFromUtf8(TDes16 &aUnicode, const TDesC8 &aUtf8);
CnvUtfConverter::ConvertFromUnicodeToUtf8(TDes8 &aUtf8, const TDesC16 &aUnicode);