▽1
●
うぃんど ベストアンサー |
質問文ではシングルクォーテーションを2個続けて書いてますが、
phpの文法的におかしいのでダブルクォーテーションに読み替えて回答を書きます。
JSONのデータはダブルクォーテーションで囲みますので、
データ内にダブルクォーテーションがあると、
区切る場所がおかしくなって正常なデータとして扱えなくなります。
おかしくなった例
"$connect->query("SET NAMES utf8")" は "$connect->query(" が一つのデータとして扱われ、 続くSの時点でエラーとなってしまいます。
変なところで区切られてしまうことを回避(エスケープ)するために、
半角の¥マーク(英文だとバックスラッシュになります)をつけます。
"$connect->query(\"SET NAMES utf8\")"
これは仕様なので回避する方法はありません。
JSONデータをインポートするソフトは、
自動的にエスケープを削除したりしてくれるはずですが、
自分でプログラムを書いて読み込ませてる場合には、
エスケープ文字(半角の¥)を削除しないといけないかもしれません。