Pocket Pc模拟器汉字编码的问题

ggbkhs 2004-02-27 02:13:14
我最近写程序,因为wince 用的是unicode码,所以,我从文件读出来的ascii码要进行转换,我觉得转换过程没有问题,但是转换的结果是,汉字显示出来的是乱码,西文都是正常的,不知道是模拟器的问题,还是其他的问题,我把程序下装到pda却可以正常显示汉字,有谁哟这方面的经验可一指点一下吗
用的主要代码:
BOOL CvtBufToStru(void* pBuf, int nBufSize, PDATAFIELD pDF, int nDFcount, void* pStru, int nStruSize) {
char field[256];
char* pc;
PDATAFIELD pItem;
void* pData;
pData=pBuf;
int nCopyLen;
if (nBufSize<2) return FALSE;
if (CalcDFActualLength(pDF, nDFcount) != nStruSize) {
DebugError(TEXT("Invalid size in CvtBufToStru"));
return FALSE;
}
pc = (char*)pBuf;
if ((pc[nBufSize-1]!=0x0A) || (pc[nBufSize-2]!=0x0D)) {
DebugError(TEXT("Data structure error in CvtBufToStr"));

TCHAR szTemp[256];
wsprintf(szTemp, TEXT("structure:\n%s"),(LPCTSTR)pData);
MessageBox(0, szTemp, TEXT("Debug"), 0);

return FALSE;
}
pData = pStru;
for (int i=0; i<nDFcount; i++) {
pItem = pDF + i;
memcpy(&field[0], pc, pItem->AsciiLength);
field[pItem->AsciiLength] = '\0';
TrimStr(&field[0]);

switch (pItem->FieldType) {
case FT_CHAR:
nCopyLen = (pItem->AsciiLength==1)?1:-1;
if (!MultiByteToWideChar(CP_ACP, 0, &field[0], nCopyLen, (LPWSTR)pData,
pItem->ActualLength/sizeof(TCHAR)))
MessageBox(0, TEXT("MultiByteToWideChar failed"),
TEXT("Debug"), 0);
if (pItem->AsciiLength >1) {

((LPWSTR)pData)[pItem->ActualLength/sizeof(TCHAR)-1] =L'\0';
//MessageBox(0, (LPWSTR)pData, TEXT("Debug"), 0);
}
break;
case FT_TINYINT:
case FT_SMALLINT:
case FT_INT:
if (field[0])
*(short*)pData = atoi(&field[0]);
else
*(short*)pData = 0;
break;
}

pc = pc + pItem->AsciiLength;
pData = (char*)pData + pItem->ActualLength;
}
return TRUE;
}
是不是模拟器中部识别16位的汉字编码呢,如果是,我给怎么能让汉字在模拟器中正常的显示出来呢
...全文
49 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cybershark 2004-04-02
  • 打赏
  • 举报
回复
跟你程序的窗口属性有关,你要设置窗口的字体。
icefire999 2004-03-31
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2888/2888567.xml?temp=6.997317E-02,一个关于如何正确配置中文 image的,不妨试试!
heavensea0727 2004-03-31
  • 打赏
  • 举报
回复
想问各位达人,我下载了chinese_no radio,把它放在\Windows CE Tools\wce300\Pocket PC 2002目录底下,然后还照readme把注册表里的path改了,可是没法运行呀,怎么回事??
heavensea0727 2004-03-31
  • 打赏
  • 举报
回复
我要我要!!谢谢楼上那位大虾,heavensea_0727@etang.com
xlwz 2004-03-30
  • 打赏
  • 举报
回复
我有解决PPC2002中文显示的插件,要的话留个E-mail
我也碰到个楼主一样的问题,能不能把您的从Ascii码到Unicode 编码的转换程序给我发一份!谢谢!
xiaoliang@gsta.com
heavensea0727 2004-03-30
  • 打赏
  • 举报
回复
http://www.microsoft.com/downloads/details.aspx?FamilyID=57265402-47a8-4ce4-9aa7-5fe85b95de72&displaylang=zh-cn
有的下,我想请问一句,2003的能用在2002上么,我的模拟器是2002的
LQJN 2004-03-25
  • 打赏
  • 举报
回复
happy_swallow(燕过留痕) ,请告知那里可下载Pocket PC 2003 SDK Chinese Simplified Emulation Images.msi? 先谢了!!
heavensea0727 2004-03-24
  • 打赏
  • 举报
回复
我装的模拟器ppc2002好像只支持英文,也是中文显示是乱码!!想知道能不能装个插件解决这个问题。
91program 2004-03-15
  • 打赏
  • 举报
回复
PPC2002有支持中文的模拟器,如果楼主的模拟器真的是英文的,楼主应该换一个了。
happy_swallow 2004-03-15
  • 打赏
  • 举报
回复
ppc2003模拟器是支持中文的,装了Pocket PC 2003 SDK Chinese Simplified Emulation Images.msi肯定可以显示中文,我就在用,只是有几个地方需要设置一下。
lwg1124 2004-03-15
  • 打赏
  • 举报
回复
那PPC2003模拟器支持中文的吗?装了Pocket PC 2003 SDK Chinese Simplified Emulation Images.msi之后能否显示中文?
小李匪盗 2004-03-14
  • 打赏
  • 举报
回复
好象模拟器只支持英文的。我用很久了。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧