五度的博客

看远方的梧桐叶~ 思恋从前的我!

如何解决flash输入中文时出现乱码或不显示

在编辑flash文件中加载了非 Unicode 编码的外部txt文本文件时,有些中文就不能正常显示。

解决办法:

  用鼠标右键单击舞台上的元件,从弹出的快捷菜单中选择“动作”选项,打开动作脚本编辑面板,键入下面脚本

System.useCodepage = true;

  脚本解释:显示中文字符的语句,使外部文本文件中的中文字符能正常显示。否则只能显示英文字符,中文字符为乱码。

例子:

on (release) {

loadVariablesNum("chem.txt", 0);

System.useCodepage = true;

}

说明:

  对于作为外部文件包含或加载的文本(使用 #include 命令,loadVariables() 或 getURL 动作,或 LoadVars 或 XML 对象),保存这些文本文件时必须使用 Unicode 对其进行编码,这样 Flash Player 才能将其识别为 Unicode。若要使用 Unicode 对外部文件进行编码,请在支持 Unicode 的应用程序(例如,Windows 2000 上的“记事本”)中保存这些文件。

  如果包含或加载了非 Unicode 编码的外部文本文件,则应将 system.useCodepage 设置为 true。在加载数据的 SWF 文件的第一帧中,在最前面添加以下代码(第一行代码):

system.useCodepage = true;

  如果有这一行代码,Flash Player 将使用运行 Flash Player 的操作系统的传统代码页来解释外部文本。对于英文 Windows 操作系统,该代码页通常为 CP1252;对于日文操作系统,该代码页通常为 Shift-JIS。如果将 system.useCodepage 设置为 true,Flash Player 6 和更高版本处理文本的方式与 Flash Player 5 相同。(Flash Player 5 在处理文本时,将所有文本都视为按运行播放器的操作系统的传统代码页编码的文本。)

  如果将 system.useCodepage 设置为 true,应注意您的外部文本文件中使用的字符必须包含在运行播放器的操作系统的传统代码页中,这样才能显示该文本。例如,如果您加载了一个包含中文字符的外部文本文件,这些字符在使用 CP1252 代码页的系统上将无法显示,因为该代码页不包含中文字符。

  若要确保所有平台上的用户都能查看您的 SWF 文件中使用的外部文本文件,应使用 Unicode 对所有外部文本文件进行编码,并将 System.useCodepage 设置保留为其默认设置 false。这样,Flash Player 6 和更高版本将按 Unicode 解释文本。

本文转载自五度成员-倾的百度博客:http://hi.baidu.com/zang521dou/blog/item/c3182fad8897d0e31f17a256.html#0

posted on 2012-02-25 09:47  五度  阅读(1653)  评论(0编辑  收藏  举报

导航