php / mysql / jqueryを使用してデータをやり取りするときはいつでも、次のエンコーディング/エスケープの組み合わせを使用することになり、うまく機能しているようです。
1)ここでは何もする必要はありません。URLを送信する場合を除きます(これはGETリクエスト専用だと思います)。ただし、URLを送信する場合は、encodeURIComponent(url)を使用する必要があります。これにより適切にエスケープされます。 URL内の&と特殊文字(こちら を参照) 。
2)mysqliとバインドされたパラメーターを使用すると、すべてのエスケープが実行されます(こちら )
3)データをHTMLファイルにエコーするときに常にこれを使用します:
<?php
htmlspecialchars($string_to_escape, ENT_QUOTES, 'UTF-8', false);
?>
これにより、すべての特殊文字が適切にエンコードされます(falseは「二重エンコードなし」を意味します)。また、HTMLページの上部に適切なUTF-8メタタグがあることを確認してください。
4)json_encodeを使用すると、常にデータを適切にエスケープする必要がありますが、念のため、#3のコードを使用します。ただし、特殊文字を含むデータを返す場合にのみ必要になる可能性があります。