• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:json_encode日本語表示/PHP5.2.5)

json_encode日本語表示/PHP5.2.5

このQ&Aのポイント
  • PHP5.2.5で、json_encodeした結果を日本語表示させる方法について教えてください。
  • unicodeエスケープされた結果を、JSON形式のまま元に戻す方法についても教えてください。
  • json_encodeを利用せずにユーザー定義関数を利用する方法についても知りたいです。

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

  • ベストアンサー
  • 1minn
  • ベストアンサー率57% (52/90)
回答No.1

手元に5.2系の環境がないので確認してませんが、参考リンクのやり方では動かないんですか? 特別な事してるようには見えないので、動きそうな気がしますが・・・

re999
質問者

お礼

回答ありがとうございました。 動きました

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

関連するQ&A

  • php5.16でjsonを使うには?

    http://www.dezinerfolio.com/dfgallery-2/free-flash-gallery こちらのFlashギャラリーを使用したくて苦戦しています。 サイトではphp5+と説明されているのですが、json関数を使用できないとうまくデータのやり取りができないようです。 なんとかphp5.16の環境でjsonを使えるように試しているのですが、 http://www123.ddo.jp/extwiki/?2.0%2Fjson_encode%E9%96%A2%E6%95%B0 という、json encodeを試してみてもだめでした。 これはphp4.xでjsonを使用する為のものみたいです。 php5.16でjson encodeを使用できるようなうまい方法はないでしょうか? よろしくお願い致します。

    • 締切済み
    • PHP
  • JSONエンコードの際の問題

    PHP5.2.6とJavascriptの間で、JSONを用いてデータをやり取りしていますが、JSONエンコードの際に文字列がUnicodeエスケープ(\u3000のような形)されてしまい、データサイズが肥大化して困っています。 本来3バイトで良いところを6バイト消費していますので、全体としては約2倍弱のサイズのデータをやり取りすることとなってしまいます。 UTF-8のまま出力するライブラリ等はありませんでしょうか? php-jsonやJsphon等を試してみたのですが、いずれもUnicodeエスケープされたjson文字列が出力されてしまいました。 宜しくお願い致します。

    • 締切済み
    • PHP
  • phpにてjsonの利用ができなくなりました

    phpにてjsonの利用ができなくなりました yum phpインストール後 peclにてjsonをインストールし動いておりました。 ある時点よりPHPのjsonのエラーが出るようになり、プログラムが動かなくなりました。 解決方法わかる方いらっしゃいましたら、ご教授お願い致します。 エラー: PHP Fatal error: Call to undefined function json_encode() やってみたこと:  yum php やphp-devel、pecl でjsonを入れなおしたり、  php.ini php.d/json.ini を記述してみたり、  jsonのtar.gzを落としてコンパイルしておいてみたり  としたのですが、動きません. その他状況: ・php -m にてjsonが表示されますが ・phpinfo()ではjsonの項目が表示されません 怪しい点: 利用できなくなった前後で yum update で全てのアップデートを行っています。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • MySQL→PHP→JSONをしたいのですが…

    現在、MySQLから取得したID一覧をJSON形式で出力したいのですが、うまくいきません。どうしたらよいでしょうか?よろしくお願いします。 なお、PHPでは以下のような処理をおこなっています。 ///////////////////////////////////////////////////////////////////// ・ ・ ・ //SQLを発行して結果セットを取得します $rst = mysql_query($sql); while ($col = mysql_fetch_array($rst)) { $return[] = $col; } function get_id($f) { return $f["dataid"]; } $return = array_map( "get_id", $return ); // JSON形式にして返す if( $return ) print Jsphon::encode( $return ); ・ ・ ・//////////////////////////////////////////////////////////////////// このようなかんじです。 この出力結果は『 ["18","19","20"] 』このようになるのでJSONでうまく処理できていないようです。 JSON形式なら『 {"dataid":"18","dataid":"19","dataid":"20"} 』 になるはずなのですが…何故でしょうか?教ええてください。お願いします。

    • ベストアンサー
    • PHP
  • JSON の出力先ディレクトリの指定方法

    cakePHPの初心者です。 以下のようにPHPからJSON形式で、データファイルを出力したいと考えております。 $json = new Services_JSON; $encode = $json->encode($hoge); echo $encode; ですが、出力先ディレクトリの指定の仕方が分かりません。 ご存知の方、恐れ入りますが方法を教えて頂けますでしょうか?

    • ベストアンサー
    • PHP
  • PHP MySQLでエラーがでてしまいます。

    PHP MySQLからデータを取得したいのですが、以下のエラーが出てしまい原因が分かりません。 詳しい方お願い致します。 <b>Warning</b>: json_encode() expects exactly 1 parameter, 2 given in <b>/home/users/2/***.**-********/web/****************/php/seupPharmacyData.php</b> on line <b>21</b><br /> エラーが出るコードは以下になります。 <?php include "db.php"; $sql = "SELECT * FROM user_data"; $query = mysql_query($sql, $db) or die("クエリの送信に失敗しました。<br />SQL:".$sql); $result= array(); while ($row = mysql_fetch_object($query)) { $result[] = array( 'name1' => $row->name1, 'name2' => $row->name2, 'name3' => $row->name3, 'id' => $row->id, ); } //jsonとして出力 header('Content-type:application/json; charset=UTF-8'); echo json_encode($result,JSON_UNESCAPED_UNICODE); ?>

    • ベストアンサー
    • PHP
  • JSON変換データをjavascriptへ渡したい

    json_encode()関数で、JSON形式の文字列に変換した配列データをjavascriptへ渡したいのですが、 いつのまにか、ただんの文字列になってしまいます。なんででしょうか? ■コード $jsondata= json_encode($originalarray) <script type="text/javascript"> var result = <?php echo($jsondata) ?>; alert(result); </script> ■変数 ・$originalarray Array ( [0] => ./im/1a.j [1] => ./im/2.j [2] => ./im/9_1.j ) ・jsondata [".\/im\/1a.j",".\/im\/2.j",".\/im\/9_1.jp"] ・result ./im/1a.j./im/2.j./im/9_1.jp

    • ベストアンサー
    • PHP
  • 【PHP,JavaScript】文字が誤変換される

    以下は、プログラムの一部でJavaScriptからPHPにJSONデータを送信する処理です。 引数を渡すJavaScript側(Extjsライブラリを利用)のプログラム // Ajaxリクエスト処理 Ext.Ajax.request({ url: "php/updatedata.php", success: handleSuccess, failure: handleFailure, params: { data: Ext.util.JSON.encode(data) } // パラメータをJSON形式にして送信 }); 配列dataの中身は「data[0] = 3,data[1] = パソコン」となっています。 Ext.util.JSON.encode(data)により配列dataをJSONに変換して 受信するPHP側のプログラム:updatedata.php JavaScriptで渡したJSONを$_REQUEST['data']で受信して中身を見ると以下のようになっています。 if (isset($_REQUEST['data'])) { $tmp = $_REQUEST['data']; 【受信したJSONデータの中身】 [{"id":"3","name":"繝代た繧ウ繝ウ"}] 「パソコン」という文字列が「繝代た繧ウ繝ウ」という文字列に変換されてしまっています。 Extjs側の「Ext.util.JSON.encode」が悪いのでしょうか、それともPHP側の「$_REQUEST」が悪いのでしょうか。はたまた何か別の原因があるのでしょうか。 ちなみに、環境は以下のようになっています。 WindowsXP,Windows7(両方とも同じ結果になってしまいました。) PHP5.3.1 Ext3.3.0 以上、よろしくお願い致します。

  • PHPのヒアドキュメントでは、\はエスケープされない?

    PHPのメール関数のメッセージ組み立て部分で使用しているヒアドキュメント内で¥マークを出力したい場合、「\」と記述するとエラーになってしまいます(「\\」と記述すると、ちゃんと「\」と表示されます。)。 PHPのヒアドキュメントでは、\はエスケープされないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPのjson_encode()

    御世話になります。 PHPからjson_encode() した配列をJavascriptに送って、javascript側ではJSON.parse()でデータを戻して使おうとしていますが、上手く行きません。 これは自作のカラオケシステムのプログラムで、歌手の名前を入力してボタンを押すと、MySQLデータベースに登録されたその歌手の曲がすべてセレクトリストに表示され、その中から一曲選択してその曲のカラオケが始まるという仕組みです。 以前には働いていたのですが、何かのきっかけでソースコードをいじっている間に働かなくなり、原因がわからないままいろやってみましたが(PHP側でjson-encode なしでやってみたり、javascript側でJSON.parse なしでやってみたり)、PHPの配列データをjavascript側にうまく渡せてないようです。ソースコードを添付しますので、どこがおかしいのかチェックして頂ける方がいらっしゃれば有難く思います、 どうかよろしくお願いいたします。 ちなみに、曲を選択するには他にもう一つの方法があり、曲の識別番号(Number)を入力する方法でこれはちゃんと働いています。 プログラムを走らせた、画面ショットも添付しておきます。 <!DOCTYPE HTML> <html> <head> <title> select_song.php</title> <?php $host = "localhost"; $user = "root"; $pass = "rsi2018"; $database = "karaoke"; $connection = mysqli_connect($host, $user, $pass, $database) or die("cannot connect to database"); //================ for all data ============= $numbers = array(); $titles = array(); $singers = array(); $query ="select number, title, singer from num2song where test<>'redundant' order by title"; // avoid redundant data $result= mysqli_query($connection, $query) or die("fail-1"); $i=0; while($row=mysqli_fetch_assoc($result)) { $numbers[$i]=$row['number']; $titles[$i] =$row['title']; $singers[$i]=$row['singer']; $i++; } $dataCount = $i; $JSnumber = json_encode($numbers); $JStitles = json_encode($titles); $JSsingers = json_encode($singers); ?> <script type="text/javascript"> var totalData = <?php echo $totalCount; ?>; var allNumbers = JSON.parse('<?php echo $JSnumbers; ?>'); var allTitles = JSON.parse('<?php echo $JStitles; ?>'); var allSingers = JSON.parse('<?php echo $JSsingers; ?>'); //============================ function showAllSongs(){ //============================= if(document.getElementById("songNumber").value){ document.getElementById("songNumber").value=""; } if(document.getElementById("mySelect")){ document.getElementById("selectSpace").innerHTML=""; } alert("inside showAllSongs"); alert(totalData); var kashu = document.getElementById("singer").value; alert(kashu); var myParent = document.getElementById("selectSpace"); var selectList = document.createElement("select"); selectList.id ="mySelect"; selectList.name ="mySelect"; myParent.appendChild(selectList); var opt = document.createElement("option"); opt.text = "==== 曲を選ぶ ===`"; opt.value = "dummy"; selectList.appendChild(opt); for(var i=0; i<totalData; i++){ if( allSingers[i].indexOf(kashu) >= 0){ var opt = document.createElement("option"); opt.text = allTitles[i]; opt.value = allNumbers[i]; selectList.appendChild(opt); }else{ continue; } }//for var select = document.getElementById("mySelect"); select.onchange=function(){ document.getElementById("selectNumber2").value = document.getElementById("mySelect").value; } }// function </script> </head> <body style="background-color:navy; color:white ;font-size:14pt"> <form method="POST" action="findsong.php" target="main"> Input song number <br> <input type="text" size="8" name="songnum" id="songNumber" style="font-size:12pt"> <input type="submit" value="Play music" style="font-size:12pt"> </form> <BR> <hr> <form method="POST" action="findsong.php" target="main"> Input singer name <BR> <input type="text" size="26" id="singer" name="singer" style="font-size:16pt"><br> <input type="hidden" name="songnum2" id="selectNumber2"> <input type="button" value="Show songs" onclick="showAllSongs()" style="height:40px;font-size:10pt"> <input type="submit" value="Play Music" style="height:40px;font-size:10pt"> </form> </body> </html>

    • ベストアンサー
    • PHP