08 « 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 10

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の設定変更でしのいでいます。(^^;)
vi ~/Library/Application\ Support/Postgres/var/postgresql.conf
---(下記を変更)---------------------------
#standard_conforming_strings = on
 ↓
standard_conforming_strings = off
------------------------------
※上記はMacOSX「Postgres.app」のコンフィグの場所
スポンサーサイト



Posted on 2012/09/29 Sat. 15:16 [edit]

category: サーバ

thread: サーバー  -  janre: コンピュータ

TB: 0    CM: 0

29