• ベストアンサー

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

  • TextFieldで、文字の大きさや色を変えたいAC3・Flash

    ActionScript3.0で、 TextFieldに表示される文字の大きさや色を変えたいです。 現在、下記のように記載して、文字を表示させていますが、 いくらネットや本で調べても、文字の大きさを変える方法が分かりませんでした。数時間以上調べました。 ぜひ教えてください! var n:int=5; var abc = new TextField(); stage.addChild(abc); abc.border = false; abc.x = 100; abc.y = 60; abc.width = 50; abc.height = 50; abc.htmlText =n; たとえばこの場合5という数字が大きく表示されるようにしたいです。 よろしくお願いいたします!

    • ベストアンサー
    • Flash
  • 文字列に\nを入れたい

    データベースAccessからデータを取得しTextFieldにその取得したデータを表示させたのですが、文字数が長くてTextFieldに収まらなくなっしてしまいました。そこで取得した文字列に新たに\nを入れて改行させようとしています。 String str = "文字列40字以上…" if(str.length >= 40){ ***処理内容*** 文字列が40字以上なら40文字目のすぐ後ろに\nを足して改行させて表示させたい。 ただし、40文字目を区切りとして改行させ表示させる。例)96文字なら3行に表示させるようにする。 } このような処理を行いたいのですが、良い方法がわかりません。アドバイスをお願いします。

  • InStrRev関数とLeft関数とRight関数の組み合わせについて教えてください。

    ワード2002で作成した技術文書について、 (1)(和文字+英数字)の文字列を任意に指定して、 (2)最初に文字数xを求め、 (3)次にInStrRev関数で英数字の1つ前の和文字について、文字列の初めからの数nを求める、 (4)Left関数で和文字を取り出す、(Msgboxに和文字を表示) (5)Right関数で英数字を取り出す、(Msgboxに英数字を表示) というマクロを作りたいのですが、 下記のマクロで足りないところを教えてください。 宜しくお願いします。 Private Sub YougoFugouBetunuki () Dim myText As String Dim x As Integer Dim Yougo As String Dim Fugou As String myText = Selection.Range.Text x = Selection.Characters.Count Fugou = "0-9A-Za-z’" n = InStrRev(myText, Fugou) Yougo = Left(myText, n) Fugou = Right(myText, x-n) End Sub

  • 文字列中に一部存在する文字化けの除去

    ネット上のデータベースを取得してphpで変換し、htmlにjavascriptを通して表示させるようなものを作っているのですが、稀にそのデータベースに文字化けした文字列が混ざっている場合があり、そうなるとjavascriptで書き出すときにエラーが起きて処理が止まってしまいます。 何か文字化けを発見して除去するなど、動作に支障がでない方法があればどなたかご教授ください。

    • 締切済み
    • PHP
  • 文字列の表示について

    文字列を表示する際に、いままで、 <?= strVal("○○○○○○") ?> のような形でやっていましたが、 Linux+php5に変更したら、phpとして処理がされず、 そのままHTML上に表示されてしまいます。 (前は、Windows+Php4) たぶん、<?phpとphpをつけないからいけないんだと 思っているのですが、この場合、どのようにすればよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • ソース中の文字列と、DBから取得した文字列を同時に表示すると文字化け

    perl 5.8.6を使用しています。 MySQLから取り出したデータを、ソース中の文字列と同じprint文の中で 表示させようとした場合に文字化けしてしまいます。 文字コードはMySQL, ソースファイルともUnicode(UTF-8)を使用しています。 具体的には $a[0] にデータベースから取り出した文字列が入っているとすると、 ソース中で print "テスト:$a[0]"; とか print <<END_OF_TEXT; テスト:$a[0] END_OF_HTML とすると、$a[0]の部分が文字化けしてしまうのですが、 print "テスト:"; print "$a[0]"; と書くと、文字化けせずに表示されます。 ちょっと日本語を使ったり、データベースから取り出した文字列を使う箇所が多いプログラムなので、ひとつひとつprint文を分けるのは大変なので避けたいです。 何か文字化けしない回避策や、原因について考えられることがありましたら教えていただけると大変助かります。

    • ベストアンサー
    • Perl
  • ASで作成したテキストフィールドの文字列を変数に代入

    ASで作成したテキストフィールドの文字列を変数に代入したいのですが上手く出来ずにいます。 とりあえず私の書いたASを下記のように簡略化してみました。下記内容でトレイスしてみると「_level0.I_textField」と出力されます。H_str1 = _root.H_tF; を H_str1 = _root.I_textField.H_tF; と変更してみてもダメでした。 テキストフィールドの文字列を変数に代入するにはどのように行えばよいのでしょうか?ご教授いただきたく思います。よろしくお願いします。 _root.createTextField("I_textField",1,10,10,200,50); var H_tF = _root.I_textField; H_tF.type = "input"; H_tF.text = "表示テスト"; // -- --------------------------------------- _root.I_button1.onRelease = function(){ H_str1 = _root.H_tF; trace(H_str1); }

    • ベストアンサー
    • Flash
  • CGI.pmのtextfieldのデフォルト文字列が文字化けしてしまいます。。

    CGI.pmのtextfieldの設定したデフォルト文字列が文字化けしてしまいます。。 以下のコードはちゃんと表示されるのですが。 print checkbox('only_exist', 'checked', 1, '削除済動画除外'); → <label><input type="checkbox" name="only_exist" value="1" />削除済動画除外</label> textfieldを使った以下のコードはちゃんと表示されません。。 print textfield('keyword', '削除済動画除外', 20); → <input type="text" name="keyword" value="&atilde;&sup2;&atilde;&atilde;‚‰&atilde;—" size="20" /> どっちもうまく表示されないのならわかるのですが、片方だけなので全く原因が分かりません。。 コードはUTF-8にて記述。(Non BOM) コード冒頭は #!/usr/bin/perl require 5.8.0; use utf8; use strict; use warnings; use Encode qw(decode encode); use CGI qw(:form param -nosticky -no_undef_params); use Data::Dumper; use POSIX 'strftime'; use LWP::UserAgent; use HTTP::Request; use open OUT => ":encoding(utf8)"; use open ":std"; use HTML::Entities 'encode_entities'; となっております。 アドバイスいただけると嬉しいです _ _

  • 文字列の10+10を20と表示したい

    はじめまして。 データーベースのstring型フィールドに10+10と文字列で入っています。 そのままprintで出力すると10+10と表示されます。 そうではなく20とprintで表示するにはどうすればいいのでしょうか。 intval関数やeval関数等自分で思考錯誤したのですが、どうしても、20と表示されません。 どのようにすればいいのか、ぜひ教えてください。

    • ベストアンサー
    • PHP
  • テキストフィールドに画像を表示する場合の回り込み

    こんにちは、一つどうしても解決できない問題がありましてご質問させて頂きました。大変お手数をおかけしますがご意見頂ければ幸いです。 textfieldのhtmlをtrueにして、htmlTextとして <img src="test.jpg">テスト のように表示したい場合に、テキストが回り込んでしまう問題がありますが、どうにかしてこれを回避して IEでのhtmlでいう <img src="test.jpg" align="absmiddle">テスト<br> のように小さなアイコンに続けて文字を表示するようなイメージで表示させたいのですが、いろいろと 探していますが、どうしても方法が見つかりません。 何かよい方法を知っておられる方がおられましたら ご教授頂けないでしょうか。宜しくお願い致します。

    • ベストアンサー
    • Flash