です。これは私が頻繁に遭遇するものですが、通常はtryとtry againメソッドデータが機能するまで私は、データを維持し、jsonを台無しにしないために、SOがベストプラクティスを知っていると考えました。jsからphp、php、mysql、REST jsonレスポンスにデータを送る際に必要な正しいエンコーディング/エスケープ/ htmlentitiesは
のは、私が送信したいデータがテキスト最も厄介な種類のデータであると仮定しよう - 特殊文字、&、<、 "、\ nは、\ n個の\ rを、\ tの、+など
ましょうまた、私はutf8ですべてを保持すると仮定し、私のmysqlテーブルはutf8に設定されていますが、PHPのutf8サポートが不足しているので、これを考慮する必要があります。
私は何をエンコーディング/
1)クライアントJSからAJAX POST経由でPHPにJSONデータを送信する(GETの場合は何でもよい)
2)PHPでデータをデコードし、テキスト文字列をmysqlデータベースに格納します(またはエスケープされた/エンコードされたデータを格納しますか? )
3)PHPでMySQLのDBからデータを取得し、あなたのPHPにJSONデータを送信するため、当社のREST API
ヒントをお寄せいただきありがとうございます。 json_encode/phpのデコードは常に動作するように見えるので、問題に遭遇する主な問題は、ajax経由でデータを前後に送信することです。私はencodeURIComponentで実験します。 –
encodeURIComponentは、URL文字列の一部としてURLを送信する場合にのみ必要です。それ以外の場合、他のデータはjqueryで適切にエンコードする必要があります。 –