游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8307|回复: 20

告别乱码!乱码全方位功略

[复制链接]

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-1-29 13:42:00 | 显示全部楼层 |阅读模式
不需要说,自己看看图吧。


362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2008-1-29 13:48:00 | 显示全部楼层

Re:告别乱码!乱码全方位功略

有必要对红框框里的内容作个解释,这是最难理解的地方。

为什么,UNICODE居然是乱码?而ANSI却不是乱码?

先保密,大家动脑筋想想ww

32

主题

232

帖子

234

积分

中级会员

Rank: 3Rank: 3

积分
234
发表于 2008-1-29 14:51:00 | 显示全部楼层

Re:告别乱码!乱码全方位功略

应该是由于给UNCODE复值,实际上 高位是没有值的,需要拼凑在一起

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2008-1-29 14:56:00 | 显示全部楼层

Re: Re:告别乱码!乱码全方位功略

billwillman: Re:告别乱码!乱码全方位功略

应该是由于给UNCODE复值,实际上 高位是没有值的,需要拼凑在一起


对不起,完全不沾边儿

32

主题

232

帖子

234

积分

中级会员

Rank: 3Rank: 3

积分
234
发表于 2008-1-29 15:01:00 | 显示全部楼层

Re:告别乱码!乱码全方位功略

举个WM_CHAR里捕捉的例子:
lowchar:Char=#0;
temp:WideString=#0;

if wParam > $80 then// char>128
          begin
            if lowchar<>#0 then
             begin

               s:= lowchar+char(wParam);
               temp := s;
               wParam := Pinteger( temp )^;

               lowchar:=#0;
             end
             else
             begin
              lowchar:=char(wparam);
              exit;
             end;
end;

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2008-1-29 15:03:00 | 显示全部楼层

Re:告别乱码!乱码全方位功略

对于(2)
把“你好”当ANSI编码的日文转成932了,当然W是乱码。
转回来时,因为前后都是932,出来的ANSI编码和存进入时是一样的,你的系统又是中文的,当然在A上是正确的中文。

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2008-1-29 15:07:00 | 显示全部楼层

Re:告别乱码!乱码全方位功略

nt 5.0+ 的A至少是GBK的,和UNICODE的字模不完全兼容,所以最后一个小点也是乱码。

32

主题

232

帖子

234

积分

中级会员

Rank: 3Rank: 3

积分
234
发表于 2008-1-29 15:15:00 | 显示全部楼层

Re:告别乱码!乱码全方位功略

看错题了,以为是解决游戏中中文问题。。。

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2008-1-29 15:52:00 | 显示全部楼层

Re: Re:告别乱码!乱码全方位功略

funcman: Re:告别乱码!乱码全方位功略

对于(2)
把“你好”当ANSI编码的日文转成932了,当然W是乱码。
转回来时,因为前后都是932,出来的ANSI编码和存进入时是一样的,你的系统又是中文的,当然在A上是正确的中文。


YES!完全正解!

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2008-1-29 15:56:00 | 显示全部楼层

Re: Re:告别乱码!乱码全方位功略

funcman: Re:告别乱码!乱码全方位功略

nt 5.0+ 的A至少是GBK的,和UNICODE的字模不完全兼容,所以最后一个小点也是乱码。


因为这个原因,我文件名都不敢用“小点”,否则刻盘子会失败。

其实中文也有“·”,我不明白为什么Windows把日文“·”转换成“?”
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 12:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表