コピペのスニペ・PHP「json_encodeの時の全角対応」

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

最近、PHPでデータ保存する際に、MongoDBとのデータ連携や、スマホの問い合わせでサーバー処理をする場合に、JSONがとても扱いやすい時代になってきました。

csvやxmlなどは、手続きや、形式の仕様がややこしかったりするので、かなり柔軟に気軽に扱えるJSONは、本当に便利ですよね。

PHPの全角encode問題

PHPも、ver5移行では標準対応してくれているので、便利に簡単に使えるんですが、全角文字列が入っている場合に、encodeした際に、文字がコード化されてしまうので、生データを扱う際にちょっと面倒くさい感じになります。

不思議なことにdecodeする場合は、全く問題ないので、UTF-8環境であれば、できれば、全角そのままでデータ保存したいものである。

ただし、Shift-jisでデータ保存をしたい場合などはエスケープ処理などが必要になるので、この方法はオススメしません。

ソースコード

One comment

  • PHP5.4移行であれば、
    json_encode関数の「JSON_UNESCAPED_UNICODE」オプションを使うことでcallback処理を書かなくても全角対応ができるようです。
    書き方は下のような書き方。

    【参考】
    http://blog.ohgaki.net/json-escape

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です