char数组转String,简体中文平台OK,繁体中文平台乱码,请大侠帮忙
环境:WinXP SP2 简体中文; WinXP SP2繁体中文(台湾),Delphi7.0
问题:在简体环境中,将char数组转成简体中文字串,没有问题;但是在繁体环境下,有部分乱码,乱码形式为问号,如
数组为:('N', 'g', #246, 'e', #27, 'g', ' ', #0, ' ', #0, ' ', #0, ' ', #0, ' ', #0, ' ', #0, ' ', #0, ' ', #0, ' ', #0, ' ', #0, ' ', #0, ' ', #0)
转换的结果为: 李?望
主要代码如下:
aName:array[0..29] of char;
...
FillChar(aName,30,0);
...
copymemory(@aname,@TmpCHMsg,30);
...
LName.Caption:=ConvertLang(WideCharLenToString(@aName,15));
主要使用WideCharLenToString对char数组进行转换,感觉因为数组里的char串本来就是简体ANSI,在简体平台上转自然没问题,但是到了繁体平台,默认语言不是简体,所以出了问题。
请帮忙诊断解决,万分感谢!