PostgreSQL バックスラッシュのエスケープ処理が変更
PostgreSQL9.1からバックスラッシュをエスケープしないのが、デフォルトの設定になったようです。
http://www.postgresql.jp/document/9.1/html/runtime-config-compatible.html#GUC-STANDARD-CONFORMING-STRINGS
DBにJSONデータを書込む際に preg_quote() などの処理をしていると、バックスラッシュがそのまま2重に書込まれてしまい、書込んだJSONデータをjson_decode() してもデコードできず nullが返ってきます。
本来はアプリケーション側の処理を変更するべきなのですが、
取急ぎPostgreSQLの設定変更でしのいでいます。(^^;)
http://www.postgresql.jp/document/9.1/html/runtime-config-compatible.html#GUC-STANDARD-CONFORMING-STRINGS
DBにJSONデータを書込む際に preg_quote() などの処理をしていると、バックスラッシュがそのまま2重に書込まれてしまい、書込んだJSONデータをjson_decode() してもデコードできず nullが返ってきます。
本来はアプリケーション側の処理を変更するべきなのですが、
取急ぎPostgreSQLの設定変更でしのいでいます。(^^;)
vi ~/Library/Application\ Support/Postgres/var/postgresql.conf
---(下記を変更)---------------------------
#standard_conforming_strings = on
↓
standard_conforming_strings = off
------------------------------
※上記はMacOSX「Postgres.app」のコンフィグの場所---(下記を変更)---------------------------
#standard_conforming_strings = on
↓
standard_conforming_strings = off
------------------------------
29