加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash登录界面正常显示与当前系统编码页不同的语种版本

发布时间:2020-12-15 18:48:45 所属栏目:百科 来源:网络整理
导读:??????? 为了表现更加良好,现在登录界面通常使用flash的形式。 ??????? 之前的登录界面,是vc端读取配置后,发ANSI编码的字符串给flash端用于显示,而flash就以当前系统编码页来解释这段文字数据。 ??????? 这就导致了一个问题,当程序资源版本与系统编码页

??????? 为了表现更加良好,现在登录界面通常使用flash的形式。

??????? 之前的登录界面,是vc端读取配置后,发ANSI编码的字符串给flash端用于显示,而flash就以当前系统编码页来解释这段文字数据。

??????? 这就导致了一个问题,当程序资源版本与系统编码页版本不符的时,显示出来的flash登录界面是乱码。在外部确实有类似的情况,例如不少阿拉伯玩家,他们用阿拉伯版本的客户端,但他们可能使用的是英文系统。

??????? 为了解决这个问题,和做flash的同学那边商量了下,据说as2中,只有System.useCodepage是和编码方式相关,但要么就是unicode,要么就是系统编码页。尝试给flash那边传UTF8的字符串,但比较怪异的是,flash那边得到的数据也还是一样。网上搜索了些适用于as的转码处理,可惜据说都是as2不支持的。好在as上是用UTF16的编码来得到字符的。例如

??????? String.fromCharCode("32593")? 就可以得到一个中文的“网”字。

于是尝试用vc端来做转码,然后按特殊的约定格式发给flash端。具体来说,就是先将需要传给flash的字符串,转换成UTF16的形式,例如要发的字符串为“网”,那么就发过去"32593 0",又如“风起云涌”,则为 "39118 36215 20113 28044 0"。然后flash端再将文字一个一个拼接起来,就得到了正确的文本。由于传送的是unicode信息,将不在被系统编码页说影响,在任何系统下都可以使用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读