2016-05-22 6 views
1

私は、mysqlテーブルから値を抽出するjsonを生成するphpページを持っています。でjson encoding€記号

[ 
    { 
    "id": "535", 
    "Name": "Pluto", 
    "fare": "\u20ac 20,00" 
    } 
] 

: すべてが...私は(「€20,00」のような)ユーロ記号をユーロ記号を含む値は\ u20acとしての私のJSONに表示されている場合を除き、このよう

結構ですこのjsonを評価しているページは「€20,00」と表示されるので、これは問題ありませんが、JSON文字列自体にも同じように表示したいと思っています。

ヒント?

答えて

1

マルチバイトは、制御文字でない限り、文字通り表示されるか、または\uXXXXとしてエスケープされ、両方の表現が正しい。あなたは文字通りの表現を好む、あなたはJSONを作成するためにPHPを使用する場合、あなたはjson_encode: Parameters

に正しいオプションを渡す必要がある場合は、あなたが探しているオプションがJSON_UNESCAPED_UNICODEです:

エンコードマルチバイトUnicode文字文字通り(デフォルトは\ uXXXXとしてエスケープされます)。 PHP 5.4.0以降で利用可能

+0

グレート!コンシューマとポイント:-) 私はまだJSON_PRETTY_PRINTオプションを使用していましたが、この2つを一緒に組み合わせる方法はわかりませんでした。正しい方法を発見しました: json_encode($ myArr、JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); 誰かがこれを見ている場合にだけ言ってください。 –

1

これは非常に簡単な例です。 あなたが何を正確にしたいのか分かったら、私はそれを完成することができます。

var json = [ 
 
    { 
 
    "id": "535", 
 
    "Name": "Pluto", 
 
    "fare": "\u20ac 20,00" 
 
    } 
 
]; 
 

 
$(function(){$('#screen').html(json[0].fare);});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id='screen'></div>

この例では、より完璧です: https://jsfiddle.net/a3dmorteza/x7fwto5L/

+0

私の問題は、解析と値の表示ではありませんでした。 jsonの強力なポイントの1つは人間が読めるようになっているからです。私はちょうどユーロ記号をリテラルとして私のjsonデータに挿入してエスケープしない方が好きです。 お返事ありがとうございます、jsonを解析するあなたのやり方は、私に何か他のことのヒントを与えました:-) –

+0

私は今あなたの問題を理解しており、@ t.nieseの答えは最高の答えだと思います。 –