내 스크립트 (핵심 파일) 상단에서 꽤 잘 작동하는 RestAPI를 만들었습니다.
header('Content-Type: application/json;charset=utf-8');
이제 문제는 클라이언트에서 API로 json을 전달할 때입니다. 이 문제는 일반적으로 POST
및 PUT
방법 과 관련이 있습니다 . 이 유형의 json을 curl로 전달하는 경우에만 발생합니다.
curl -i -d '{"test": "èè"}'
내가 악센트 부호가있는 글자를 어떻게 볼 수 있는지. 그래서이 함수를 호출하면 :
$params = json_decode(file_get_contents("php://input"), true);
$params
변수 반환 NULL
. 대신 내 json이 다음과 같은 경우 :
curl -i -d '{"test": "This is a test"}'
모두 잘 작동하고 $params
변수에는 다음 과 같은 가치가 있습니다.
array(1) {
["test"]=>
string(14) "This is a test"
}
특수 문자가이 기능에 문제를 일으킨 것 같은데 .. 누군가 이것에 대한 해결책이 있습니까?
정규식을 사용하여 입력 줄에 악센트 부호가있는 문자가 있는지 확인할 수 있습니다.
<?php
preg_match("/[À-ÿ].*/", $input_line, $output_array);
if(sizeof($output_array) > 0){
echo "$input_line has accented characters";
}
?>
문제가 있다고 생각하기 때문에 URL 인코딩을 살펴볼 수도 있습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다