との誤差を持っていると cURLのことで、それを送るが、エンドポイントがアクセント間違っ (acutesのような文字を受け取ります)。JSONは、私は、JSONをDDBB内のテーブルから読み込むPHPでスクリプト設定したutf8mb4データ
1)まず、私がbbddに接続して、文字セットを設定:
$conn=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME) or die("Error " . mysqli_error($con));
mysqli_set_charset($conn,"utf8mb4");
データベース照合私はことを変更することはできませんutf8mb4_unicode_ci
、あります。
2)私は情報を持つ配列構築:配列からJSONを作成し、
$arr_json = array();
$array_json['key'] = htmlentities("Más");
[...]
3)一度決済さ:
$arr_json = json_encode($arr_json,JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
4)最後に、私は情報を送る:
curl_setopt_array($curl, array(
CURLOPT_URL => URL,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $arr_json,
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/json",
),
));
私はコードを受け取りますが、APIのendointは常に間違った入力を受け取り、例えば、以前の値:
'Más'
それは次のようになります。
'Más'
PHPスクリプトファイルはUTF-8で、データベースの情報は正しく保存されています。何か案は? "Más"
なり
$array_json['key'] = htmlentities("Más");
'Más'
へ:
@SahilGulatiどのようにすることができますか? CURLOPT_HTTPHEADERの文字セットですか? –