FlashとPHPを使ったチャット

このQ&Aのポイント
  • FlashとPHPを連動させたチャットを作成する際に、全角カナの一部や全角記号の一部が正しく表示されず、半角ローマ字に変換されてしまう問題が発生しています。
  • サイトに載っているソースプログラムをそのままコピーして作成し、実装させましたが、原因がわかりません。
  • 使用しているバージョンはWindows XP Home、Macromedia Flash MX、PHP 5.2です。
回答を見る
  • ベストアンサー

FlashとPHPを使ったチャット

初めまして、よろしくお願いします。 自分は今あるサイトを見ながらFlashとPHPを連動させた チャットを作っています。 そのサイトにはソースプログラムもそのまま載っており わかり易い解説も載っているのですが、 載ってるソースをそのままコピーして作成し、実装させたところ なぜか、「全角カナの一部」「全角記号の一部」が正しく表示させず 半角ローマ字に変換されてしまうのです。 例 「アイウエオ」 → 「ACNGI」 「・。、」→「EAB」 これはいったい何が原因なのでしょうか? サイトへのURLは ttp://ponk.jp/flash_php/index.php?page=3 です。(無断リンクなのでhを消す事をお許しください。) よかったら解決へのご教授をお願いしますm(_ _)m 使用しているバージョンは windows XP home Macromedia Flash MX PHP 5.2 です。

  • Flash
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答No.1

そのローマ字に変換されてしまう文字がうまくURLエンコードされなかったのが要因かと思われます Flash側の  System.useCodepage = true; を削除して、PHP側は  if ($_POST['msg']){~ の1行を if ($_POST['msg']){ $name = mb_convert_encoding($_POST['name'], "UTF-8", "auto"); $msg = mb_convert_encoding($_POST['msg'], "UTF-8", "auto"); array_push($lines, "{$name}\t{$msg}\t$time\n"); } に変更し、文字コードをUTF-8ベースにしてしまいましょう 確認の際は、一度チャットログ用のテキストを削除してから空のファイルをアップロードして下さい これで意図しない文字列に変わってしまうことは回避できると思います 次に前途内容のままでは以下の記号 「 " 」 「 ' 」 「 \ 」 を文字列として表示するために先頭へ \ がプラスされしまいます 例 「"\5,000"」 → 「\"\\5,000\"」 なのでこれをFlash側で戻してあげます ASが記述してあるフレームに function escapeCut(str) { str = str.split('\\"').join('"'); str = str.split("\\'").join("'"); str = str.split("\\\\").join("\\"); return str; } という\記号によるエスケープ削除用の独自関数を記述し、 sl.onLoad = function() 内の log_txt.text = this.log; user_txt.text = this.user; を log_txt.text = escapeCut(this.log); user_txt.text = escapeCut(this.user); とすればうまくいくと思われます

kanezin
質問者

お礼

丁寧なご回答ありがとうございました♪ 言われたとおりにやってみたところ、万事うまくいきました。 これから、教えていただいた事を理解して行こうと思います。 ほんと、ありがとうございました^^ ご迷惑とは思いますが、またよろしくお願いしますm(_ _)m

関連するQ&A

  • FLASHとPHPの連携

    はじめまして。 現在FLASHとPHPを連携させたサイトの検討をしているんですが、PHPで生成した変数をFLASHに持っていく方法がわかりません。そのままだと、PHP変数には$が付きますがそれだとFLASH側で読みません。PHP側からいちいちテキストで吐き出していたんでは処理が間に合わないんですが、どうしたらいいでしょうか?ご存知の方いらっしゃいましたら教えていただけると助かります。

  • Flashについて

    教えての無料のフラッシュサイトの回答をみるとほとんどは、Flashの無料版は存在しないと書いてありましたが、http://oshiete1.goo.ne.jp/kotaeru.php3?q=1431337を読んでいると、実は、存在していると書いてありましたが、存在している場合、どこにあるのかご存知の方は居られないでしょうか? また、Macromediaのサイトで試用版のFlashがありますが、これで作成したFlashというのは、公開しても良いものなのでしょうか? FlashMakerのサイトにあるFlash作成ソフトは、規約を読むと不可と書いてあったのですが、Macromediaに関しては特に、規約が見当たりません。もし、見落としていたら大変ですので教えてください。 以上、2点宜しくお願い致します。

  • Flash Playerのインストール

    OSはWIN98SE、IE6.0SP1を使用しています。 原因はわかりませんが、ある時期からブラウザ上でFlashが再生できなくなりました。そこでFlash Playerを一旦アンインストールして再インストールしようと思ったのですが、再インストールができなくなってしまいました(正常にインストールができない) 現象としてはこちらの質問http://oshiete1.goo.ne.jp/kotaeru.php3?q=1263631に近い現象です。 これまで確認、試みたこと ○インターネットオプション>セキュリティの設定のActiveX、スクリプトが有効になっていることを確認 ○インターネットオプション>詳細設定のオンデマンドでのインストールを有効にするにチェックされていることを確認 ○Macromediaのサイトで提示されているインストーラー(http://download.macromedia.com/pub/shockwave/cabs/flash/flashactivexinstaller.exe)でのインストール及びアップデート ○IE6.0のアンインストール及び再インストール ○IEのセットアップからFlash Playerをインストール ○アンインストーラー(http://download.macromedia.com/pub/flash/ts/uninstall_flash_player.exe)でFlash Playerのアンインストール これらを行ってみましたが一向に解決しません。いろいろ試している中でFlashを使用しているサイトを見ると、Flash Playerをアンインストールした状態ではインストールを促す(またはMacromediaのダウンロードページへ飛ぶ)、インストーラー等でインストールした状態ではアイコンが表示されるだけという状況から、正常にインストールされていないと思うのですが。 何か解決策があれば教えてください。

  • i-mode用Flashの開発環境が整えられない

    PCの環境はWin2000です。 DocomoのWebサイトでi-mode用のFlashの開発環境の整え方が掲載されているのを頼りに 行っているのですがうまくいきません。 http://www.nttdocomo.co.jp/p_s/imode/flash/ 先に「Macromedia Flash MX」をインストールする、とあるので Macromedia のサイトから「Flash MX 2004」のトライアル版をインストールし、 「Macromedia Flash MX Updater for Flash Lite」のFlashLiteInstaller_ja.exeを ダウンロードしてきてインストーラーを起動していると 「Flash MX がインストールされていません」というエラーダイアログが出てしまいます。 「Flash MX 2004」は正常にインストールされていますが、 この2004ってのではダメなのでしょうか? もしくはトライアル版ではダメなのでしょうか? どなたかご存知の方がいらっしゃいましたらご教授ください。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • PHPでwebサービスの作り方(wsdl)

    PHPとFlash(actionscript)を連携させたいと思っています。 PHPが提供側、Flashが使用側になります。 FlashではWSDLを解析して、webサービスを使用できるように作っています。 PHPにPEAR:SOAPを組み込んで実装しようと試みたのですが、 WSDLで公開する実装の仕方が分かりません。 正直、あんまり、SOAP、WSDLの知識がいまいちなので、 うまく説明できてないかもしれませんが、 アドバイスよろしくお願いします。

    • 締切済み
    • PHP
  • Flashサイトが見れないのですが・・・

    こんにちは、お世話になります。 少々困ったことがありまして、、Flashで作られたサイトなどが見れないのです。 例えばこちら(ttp://www.roadster.mazda.co.jp/)なんですが、「このサイトをお楽しみいただくにはFlashプラグイン7以上が必要です。この画面が表示された方は右のバナー(Get macromedia FLASH PLAYERとの表示)からダウンロードしてください」 と出てしまいます。 バナーからMacromediaのサイトにジャンプしてインストールしようとすると、1秒もかからずにインストール完了(元々インストールされてる?)になります。 アンインストールなどを試そうと(C:\Program Files\Internet Explorer\PLUGINS)のフォルダを見ても"NPSWF32.dll"というファイルが見当たらず・・・ インストールされているのかいないのかさえよくわかりません。 なのですが、FlashはFlashでもこちらのようなもの(ttp://clairvoyance.game-server.cc/swf/nightmare.swf) は見れるんですよね。。さっぱりです(´・ω・`) 一応環境のほうを書いておきますと、 Windows XP HomeEdition SP2 ブラウザ:Internet Explorer ver.6.0 です。よろしくお願いします

  • 【初心者です】 flashとphp、MySqlの連携について

    現在、flashを使用した予約システムの開発を検討しています。 流れとしては、flashの画面から必要な情報を入力してもらい、 "次へ"ボタンを押すと、flash画面に先ほど入力した情報の確認画面が出力され、"確認ボタン"を押すと その情報がDBに登録されるといった ものです。  私はactionscriptはそこそこ理解できていますが、phpに関しては 全くの初心者で、flash側でのプログラムはLoadVarsを使用してデータをphpに渡せばいいという事は分かったのですが、そこからがよく分かりません。 何か参考になるサイトがありましたらご紹介願えないでしょうか? 宜しくお願い致します。 開発環境: windows XP xampp , dreamweaver8, flash8

    • 締切済み
    • PHP
  • FLASHからPHPへ値送信

    質問させて頂きます。 FLASHからPHPへ配列データを送信したいのですが、FLASHで作成した配列をPHPに送信する事は可能か教えてください。 ボタンを押した時にPHPに配列データを送信たいと思っています。 以下ソース ■FLASH側 on (release) { data[0]="りんご"; data[1]="みかん"; //送信用インスタンスの生成 transmit = new LoadVars(); //受信用インスタンスの生成 receipt = new LoadVars(); //受信処理 receipt.onLoad = function(Success) { } //phpに配列データを送信 transmit.recData = data; transmit.sendAndLoad("test.php", receipt, "POST"); } ■PHP側(test.php) <?php $aaa = $_POST{'data'}; ----------PHP処理------------ ?>

  • 丸いものがボコボコ出てくるようなFlash

    http://tail.s68.xrea.com/blog/2007/01/flash_2.html 上記FLASHの作り方についての質問です。 ”まずこういうものを作ります。 丸いのがボコボコ出てくるようなFlashで~” と書かれてありますがこの時点でつまずいてしまっています。 ムービークリップで○が大→小になるものをつくり、ムービークリップ自体をゆらゆらさせながら上昇させていく…という作成方法で間違いないでしょうか?また、大きさがランダムで出てくるのはなぜでしょうか? もしもよろしければご教授いただければと思います。 (こちらのサイト様に置かれているBBSに質問をしたことがあるのですがまずかったようなので、こちらで。) 作成環境 Macromedia Flash8 Proffesional Windows xp SP2(2002年ごろの出たてのXPです。) ASは勉強中で未熟なためアニメーション・トゥイーンのみで製作しています。

    • ベストアンサー
    • Flash
  • Opera7.54uのFlashがおかしいの??

     こんにちは。もしくはこんばんわ。いつもお世話になっております。  今回はOpera7.54u2についてです。Flashのあるサイトにいくとちゃんと表示はされるのですが、アイコンをクリックしてもそこのページにいけません。  OperaからMacromedia Flash Player Download Centerにいき、最新版のFlashプラグインを入れましたがやはりそのサイトではクリックしても次のページに進めません。何か対処法がありましたらよろしくお願いします。 ●アイコンクリックしても次のサイトに行かないサイト:  村山由佳の「COFFEE BREAK」 http://www.shueisha.co.jp/coffee/ ●OS:Windows2000Pro SP4 ●Macromedia Flash Playerバージョン:7,0,19,0 (Netscape, Mozilla, Opera, and CompuServe用) P.S.Flash読み込みが、IEと比べるとOperaは遅く感じますが皆さんはどうですか?

専門家に質問してみよう