【FAQ】使用 LOAD 載入外部中文字檔 *.TXT, 中文字卻成為亂碼之解決

  • 準備一有中文內容之文檔(*。TXT)
  • 加入以下代碼
trace("initializing app");

var variables:LoadVars = new LoadVars();

variables.load("variables.txt");

variables.onLoad = function(success:Boolean) {
	trace("@@@CONTENT:@@@"+success);
	if (success) {
		for (i in variables) {
			trace("Variable."+i+" = "+variables[i]+"#########");
		}
	}
};
 
  • 問題分析說明與解決:
    1. 此為輸入文檔的編碼方式和顯示播放的編碼方所致。
    2. 以下幾種解決思路:
      1. 指示 Flash Player 使用运行该播放器的操作系统的传统代码页,将以下代码作为代码的第一行添加到加载数据的 Flash 应用程序的第一帧。
      2. 使用注意事項:
        1. 必需在文本編輯檔裡(以 EMEDITOR 為例),將編碼方式選為"SYSTEM DEFAULT".
          trace("initializing app");
          
          var variables:LoadVars = new LoadVars();
          
          variables.load("variables.txt");
          
          System.useCodepage = true;
          
          variables.onLoad = function(success:Boolean) {
          	trace("@@@CONTENT:@@@"+success);
          	if (success) {
          		for (i in variables) {
          			trace("Variable."+i+" = "+variables[i]+"#########");
          		}
          	}
          };
          
        2. 不要在文档中多次使用该属性,
        3. 运行播放器的操作系统的传统代码页必须包含外部文本文件中使用的字型,这样才能显示文本
        4. 为了确保所有平台上的用户均可查看 Flash 应用程序使用的外部文本文件,应使所有外部文本文件的编码都是 Unicode,并保留 system.useCodepage 属性的默认设置 false。这会使 Flash Player 将文本解释为 Unicode。

posted on 2010-11-02 11:03  Morris  阅读(247)  评论(0编辑  收藏  举报

导航