クライアント側に外国のユーロ記号があります。このパラメーターを取得して json に変換し、json 経由で PHP バックエンドに送信します。
問題は、サーバー側でキャラクターが破損したことです
campaignsJson.campaigns[i] ={};
campaignsJson.campaigns[i].advertiser_id = advertiserId;
campaignsJson.campaigns[i].sign_id = sign_id;
var campaignsJsonstringify = JSON.stringify(campaignsJson);
alert(campaignsJsonstringify); // THE eruo sign is ok
//send via form
$.sendPost = function() {
var campaignsJsonstringify = JSON.stringify(campaignsJson);
$('#campaigns_json').val(campaignsJsonstringify);
document.getElementById("container_send").submit();
}
<form id="container_send" action="campaigns_action.php" method="post">
<input type="hidden" id="campaigns_json" name="campaigns_j" value=""/>
</form>
//PHP
if($_SERVER['REQUEST_METHOD'] == "POST") {
$isError = false;
if($_POST['campaigns_j'])
{
$campaigns_json = $_POST['campaigns_j'];
echo $campaigns_json;
//Here is the foreigner euro sign is printed as gibrish
}
}
有効な文字列である文字列が必要であり、これをサードパーティの API
に伝えます。これには、クライアントから送信される文字列を有効に保つ必要があります。