URL (キー、値) を介してカンマ区切りの値を送信しています。それらを Javascript の escape() でエンコードし、各値内のコンマを %2c に置き換えています。問題は、エンコードされたコンマが PHP の最後で "," に変換されてから、explode() が実行されると、コンマを含む文字列が分割され、正しく保存されないことです。
PHP がエンコードされたビットをエンコードされていないビットに変換するのを止めるにはどうすればよいですか?
各入力の私の JS は次のとおりです。
fieldData += $(this).attr("id")+","+escape($(this).html()).replace(/,/g,"%2c")+",";
私のPHPは:
$fieldData = explode(",", $_POST['fieldData']);
試した(他のものと一緒に):
$fieldData = explode(",", urlencode($_POST['fieldData']));