dポイントプレゼントキャンペーン実施中!

質問よろしくお願い致します。
ブログにswfファイルを載せて
下記のサイトの方法で載せているんですが

http://hima.chu.jp/flash/tips/flash_with_arg.htm

IEでは普通に表示されているのに
FireFoxでは1/4とか
へんな記号に文字化けしてしまいます。

頭に
System.useCodepage=true;
を置いてみたり
一度HTMLをUTF-8で保存してみたりしたんですが
代わりがありません。

unescapeを使うとIEだと漢字、FFだと半角カタカナ
の文字化けになり正しく表示されません。

IEもFFも文字コードはSHIFT-JISです。

どちらもちゃんと表示させられるにはどうしたらいいでしょうか。
よろしくお願い致します。

動作/作成環境
Flash8
IE6
FireFox 1.5

Windowsで作成、動作確認をしています。

A 回答 (1件)

> 一度HTMLをUTF-8で保存してみたりしたんですが


> 代わりがありません。
中略
> IEもFFも文字コードはSHIFT-JISです。

文字コードがShift_JisだとUTF-8で保存しても意味がないので、
文字コードもUTF-8にし、HTML自体もUTF-8で保存すると解決すると思います

文字コードの指定はHTMLの<head>内で

<meta http-equiv=Content-Type content="text/html; charset=utf-8">

のように記述すれば良いでしょう

保存しても変化が見られなかったのは恐らくcharsetに
他の文字コードが指定されたままだったと推測します

ブログ自体が他の文字コードを使用せざるをえない場合は
swfに渡したい文字列のみURLエンコードされた文字列で記述するのが簡単な方法です

strという変数に"こんにちわ"を代入したい際の例

example.swf?str=%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%82%8F

一見複雑で個々の文字を探すのに苦労しそうに見えますが
このようなURLエンコードされた文字列はFlashのscript

escape(String)

で出すことができます

■例 "こんにちわ"を変換して出力ウィンドウに表示
trace(escape("こんにちわ"))

ブログ自体のperlやphpレベルで正規表現や置換を用いて
部分的にURLエンコードを出来れば楽なのですが、
そういうことが出来なく、今後も使用する機会があるのならば
上記ASを使った単純なURLエンコード用Flashツールでも
作っておくといいかもしれませんね
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!