나는했습니다 utf8mb4 데이터에 오류가 (acutes). 데이터베이스 데이터 정렬
utf8mb4_unicode_ci
입니다JSON은 DDBB의 테이블에서 읽어 PHP의 스크립트가하는 JSON 설정하고 컬로 보내하지만, 엔드 포인트가 잘못 악센트와 같은 문자를받을$conn=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME) or die("Error " . mysqli_error($con)); mysqli_set_charset($conn,"utf8mb4");
, 내가 있음을 변경할 수 없습니다 :
1) 첫째로, 나는 bbdd에 연결하여 문자 집합을 설정합니다.
2) 나는 정보와 배열을 구축 일단
$arr_json = array();
$array_json['key'] = htmlentities("Más");
[...]
3)가 정착되고, 배열에서 JSON을 만듭니다
$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의 문자 세트? –