新手开始进行MTK软件的开发,往往习惯于使用以下的方式来显示字符串
WCHAR myStr[]=L"我的第一个程序";
gui_print_text((UI_string_type)myStr);
这样的程序在模拟器上显示的是正确的,但是在真机上却是显示乱码。
其实解决方式很简单,用如下的方式
char myStr2[]="我的第二个程序";
char myStrest[20];
mmi_chset_text_to_ucs2(myStrest,20,myStr2);
gui_print_text((UI_string_type)myStrest);
这样处理后在真机和模拟器上都是能正确显示的了
原因:虽然我们声明的是宽字符WCHAR myStr[]=L"我的第一个程序";,但是在真机上,它还是解析成了ASCII码字符,所以导致了乱码。