wince6.0中程序,界面中文显示正常,下拉列表中中文乱码

时间:2023-02-10 00:22:34
在vs2005中写的wince程序,程序界面上的中文显示都正常,但在combo-box控件中的数据内容为中文就显示乱码,这是什么原因?

16 个解决方案

#1


你是如何显示的呢?

#2


加_T()了吗?

#3


没遇到这样的情况,估计LZ没处理好,把显示那部分代码贴出来瞧瞧

#4


_T("");

#5


unicode 设置LOCAL

#6


[img=http://my.csdn.net/my/album/detail/1126782][/img]程序运行后,校验对应下拉列表中的中文乱码
[img=http://my.csdn.net/my/album/detail/1126842][/img]
同时串口接收中文乱码,字母正常
接收的函数如下: 
OnDataArrivedMsg(WPARAM   wParam,LPARAM   lParam) 

//处理收到的数据 
int   length=(int)lParam; 
char   *temp=(char*)wParam;//调试时调试窗口temp的内容是正常的汉字 
DWORD   dwlength; 
dwlength   =   MultiByteToWideChar(CP_ACP,   MB_COMPOSITE,   temp,   -1,   0,   0); 
CString   tmpstr; 
tmpstr.GetBuffer(dwlength);   //为转换后保存Unicode字符串分配内存 
 //从Ansi转换到Unicode字符 
MultiByteToWideChar(   CP_ACP,MB_COMPOSITE,temp,-1,tmpstr.GetBuffer(dwlength),   dwlength); 
MessageBox(tmpstr);//弹出的对话框显示乱码和方块 

return   0; 

#7


[img=http://my.csdn.net/my/album/detail/1126842][/img]

#8


图片为什么显示不了呢

#9


接收乱码的问题解决了,把MultiByteToWideChar( CP_ACP,MB_COMPOSITE,temp,-1,tmpstr.GetBuffer(dwlength), dwlength)中参数CP_ACP改成936就好了 

#10


引用 3 楼  的回复:
没遇到这样的情况,估计LZ没处理好,把显示那部分代码贴出来瞧瞧

这个中文是MFC中下拉列表控件中的数据内容,在程序运行后自动显示的,没有写相应的代码。图片(乱码的截图)显示不了,右键在新标签中可以看到

#11


该回复于2012-04-28 08:43:04被版主删除

#12


该回复于2012-04-28 08:43:16被版主删除

#13


wince6.0中程序,界面中文显示正常,下拉列表中中文乱码wince6.0中程序,界面中文显示正常,下拉列表中中文乱码

#14


图片终于发出来了,就是这个乱码问题,wince下的

#15


编译成中文系统看行不行

#16


在系统属性中locale->default locale语言选择“中文(中国)”然后SYSGEN.

#1


你是如何显示的呢?

#2


加_T()了吗?

#3


没遇到这样的情况,估计LZ没处理好,把显示那部分代码贴出来瞧瞧

#4


_T("");

#5


unicode 设置LOCAL

#6


[img=http://my.csdn.net/my/album/detail/1126782][/img]程序运行后,校验对应下拉列表中的中文乱码
[img=http://my.csdn.net/my/album/detail/1126842][/img]
同时串口接收中文乱码,字母正常
接收的函数如下: 
OnDataArrivedMsg(WPARAM   wParam,LPARAM   lParam) 

//处理收到的数据 
int   length=(int)lParam; 
char   *temp=(char*)wParam;//调试时调试窗口temp的内容是正常的汉字 
DWORD   dwlength; 
dwlength   =   MultiByteToWideChar(CP_ACP,   MB_COMPOSITE,   temp,   -1,   0,   0); 
CString   tmpstr; 
tmpstr.GetBuffer(dwlength);   //为转换后保存Unicode字符串分配内存 
 //从Ansi转换到Unicode字符 
MultiByteToWideChar(   CP_ACP,MB_COMPOSITE,temp,-1,tmpstr.GetBuffer(dwlength),   dwlength); 
MessageBox(tmpstr);//弹出的对话框显示乱码和方块 

return   0; 

#7


[img=http://my.csdn.net/my/album/detail/1126842][/img]

#8


图片为什么显示不了呢

#9


接收乱码的问题解决了,把MultiByteToWideChar( CP_ACP,MB_COMPOSITE,temp,-1,tmpstr.GetBuffer(dwlength), dwlength)中参数CP_ACP改成936就好了 

#10


引用 3 楼  的回复:
没遇到这样的情况,估计LZ没处理好,把显示那部分代码贴出来瞧瞧

这个中文是MFC中下拉列表控件中的数据内容,在程序运行后自动显示的,没有写相应的代码。图片(乱码的截图)显示不了,右键在新标签中可以看到

#11


该回复于2012-04-28 08:43:04被版主删除

#12


该回复于2012-04-28 08:43:16被版主删除

#13


wince6.0中程序,界面中文显示正常,下拉列表中中文乱码wince6.0中程序,界面中文显示正常,下拉列表中中文乱码

#14


图片终于发出来了,就是这个乱码问题,wince下的

#15


编译成中文系统看行不行

#16


在系统属性中locale->default locale语言选择“中文(中国)”然后SYSGEN.