PHPのマジッククオート

以前に、仕事のときにか、PHPの設定ではまった覚えがあるのだが、検索で見つけるまで思い出せなかった。
昨日、サーバをリプレイスしてから、自宅サーバに送信した音楽再生履歴データの「’」と「”」の前にバックスラッシュがついてしまうようになった。
原因をサーバ側に求めれば解決はもっと速かったのだろうが、スクリプトをいじっていないので、Mac側の問題だと思い込み、AppleScriptやObjective-Cで書いたスクリプトを見直してばかりいた。
PHP、POST、バックスラッシュあたりで検索してマジッククオートの設定があったことを思い出し、php.iniを見ると、Onになっていた。Offにしてデータを送信するとすべて解決。
今日、丸一日悩んでいたのがこれだった。解決してみれば簡単なことなのだが、送信データをデバッガで見たり、PHPで受信したデータをダンプしたところで化けているのが見えたので、送信時に化けたものだとばかり思っていた。
URL Access ScriptingからcURLへ変更してソースを書いたりもした。
結局この部分はオリジナルに戻したが、コメントアウトして残してある。
PHPはサーバをかえたときには要注意ですな。

コメント