• ベストアンサー

TextFieldに特殊文字(® や ™)を表示したい

環境:AS3.0/CS3 TextFieldに特殊文字があると真っ白になってしまい困っています。 PHP通信してデータベースにある文字列をTextFieldに表示させています。 "あいうえお"であれば当然問題なく表示されますが、 "あいうえお™" または "あいうえお™" などと特殊文字が入ると真っ白です。 myText.htmlText = "あいうえお™"; ↑これも駄目なようで。 どうか解決策を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • joy_28
  • ベストアンサー率84% (45/53)
回答No.1

tkmkokさん、 PHP側で、urlencode();を行って、変数を、SWF側に、引き渡してやる必要があります。以下、シンプルなテスト結果です。(phpも、UTF-8で記載してます) -PHP側: <?php $str1='あいうえお&trade;'; $str2='あいうえお™'; $str1=urlencode($str1); $str2=urlencode($str2); print 'm1='.$str1.'&'.'m2='.$str2;//Flash側で、urldecode();をしてくれるはず。 -FLA側の第一フレームscriptレイヤー: //ダイナミックテキストを2つ(m1_txtとm2_txtの2つ)設置しておく //定番の外部ファイルから変数をロードする方法 //ここから var loader:URLLoader=new URLLoader(); loader.dataFormat=URLLoaderDataFormat.VARIABLES; loader.addEventListener(Event.COMPLETE,xComplete,false,0,true); loader.load(new URLRequest("./special.php"));//PHPのファイル名を、special.phpとした function xComplete(e:Event):void { loader.removeEventListener(Event.COMPLETE,xComplete);//不要なので、一応、登録削除 var vars:URLVariables=e.target.data; m1_txt.text=vars.m1;//PHP側で定義した、変数m1=XXXXを代入 m2_txt.text=vars.m2;//同様に、変数m2=XXXXを代入 } //ここまで 以上で、意図した内容で、表示されます。

tkmkok
質問者

お礼

早速ありがとうございます! バッチリいけました! urlencode(); 特殊文字のようなケースはPHP側で URLエンコードしておけばいいって訳ですか。 なんかエンコードまわりって本当ややこしいです。 日本人ならではの苦労でしょうか。。

すると、全ての回答が全文表示されます。

関連するQ&A