Macromedia Flash Player 6 以降でのエンコーディングについて
Flash Player バージョン 6 以降で作成された Flash ムービー (swf) 上に、loadVariables などを使って外部テキストを読み込んだ場合、日本語文字が化けてしまうことがあります。
これは、Flash ムービーのバージョン 6 以降でのエンコーディングの扱いにおいて、マルチ言語に対応するための仕様が追加されているためで、デベロッパの方は、コンテンツを作成する際に以下のいずれかの作業を行っておく必要があります。
- コンテンツ 1 フレーム目のフレームスクリプト最上部に
System.useCodepage = true;
という一行を付け加える。
- 読み込むテキストのエンコーディングを UTF-8 として作成する。
Flash 5 日本語版までのバージョンにおいて、Flash Player で扱われるエンコーディングは「Shift-JIS」でしたが、バージョン 6 以降では「UTF-8」を標準として採用しております。Flash 5 日本語版までの作成の仕方で外部の日本語テキストを読み込んだ場合、その外部テキスト (Shift-JIS) と Macromedia Flash Player 6 以降(UTF-8) とのエンコーディングの扱い方の違いにより、デバイスフォントを使用した文字などが化けてしまう現象が発生します。そこで、Macromedia Flash MX 以降では、外部テキストのエンコーディングを変更できない場合などを想定して、System.useCodepage という ActionScript が用意されております。System.useCodepage という値を「true」にした場合、Flash Player 6 以降で扱うエンコーディング (UTF-8) はシステムに依存した形に切り替わり、日本語の Windows や Macintosh では、「Shift-JIS」となります。
また、Macromedia Flash Player 6 以降で は、再生する Flash ムービー (swf) のバージョンによって、エンコーディングの扱いを「Shift-JIS」にするか「UTF-8」にするか自動的に判断して切り替えます。Flash Player 5 以前と Macromedia Flash Player 6 以降の両方を対象としているコンテンツの場合は、 System.useCodepage = true を追加して、外部の日本語テキスト (Shift-JIS) を読み込むようにしてください。
特に、Flash 5 日本語版で作成していた Flash ムービーを、Macromedia Flash MX 以降の日本語版で再度開いて、編集する場合、日本語文字の扱いにおいて、この点に十分にご注意ください。
以下にこの仕様についての Macromedia Flash Player 6 以降の再生状況をまとめます。
バージョン 5 以前の Flash ムービー (swf) を Macromedia Flash Player 6 以降で再生した場合
Flash Player 側でバージョンが 5 以前のものと判別され、外部テキスト (Shift-JIS) の日本語を読み込んだ場合でも、文字化けしない。
バージョン 6 以降の Flash ムービー (swf) を Macromedia Flash Player 6 以降で再生した場合
Flash Player 側で扱うエンコーディングが「UTF-8」となり、外部テキスト (Shift-JIS) の日本語を読み込んだ場合、文字が化ける。(System.useCodepage = true を追加するか、外部テキストのエンコーディングをUTF-8にする。)
関連ドキュメント (Related Records)
ドキュメント情報 (Document Details)
| 最終更新 (Last Update): | 2006-04-22 |
|---|---|
| 文書番号 (ID): | 228624 |
| プラットフォーム (OS): | Macintosh, Windows |
| バージョン (Product Version): | 8, MX2004, MX |
| リンク (Permanent Link) : | http://go.adobe.com/kb/ts_228624_ja-jp |
| 関連製品 (Product Affected): | flash |