2017-11-06 14 views
0

저는 JSON 형식으로 작업하는 것이 처음입니다. 나는 많은 것을 배우고 - 나는 UNICODE와 관련되어있다. 내가 무엇을이 문자열을 캐릭터 세트 것은 내가 echo mb_detect_encoding($str); 결과가 UTF-8 사용하다 보면 내가 문자열 $str='Läuse';JSON_UNESCAPED_UNICODE가 json_encode에 적합한 문자셋을 선택하는 방법이 필요하지 않습니다.

있습니다. 내가로 json_encode와 배열을 에코 할 때 지금은 배열을 생성하고 감지 다시 캐릭터 세트는 UTF-8

$json_array = [ 
     'test' => $str 
    ]; 
    echo mb_detect_encoding($json_array['test']); 

그것은 검색 및 PHP와 유니 코드 난에 대해 많이 읽고 나면 {"test":"L\u00e4use"} 대신 {"test":"Läuse"}

에 온다 점점 더 혼란 스럽습니다. JSON_UNESCAPED_UNICODE가 원하는대로 내 json_encode를 출력한다는 것을 알게되었습니다.

제 질문은 내가 JSON_UNESCAPED_UNICODE를 사용해야한다는 잘못된 생각입니까? 잘못된 charset을 사용합니까?

은 (는 가독성의 비용과 일부 바이트에서 제공하지만) 당신이

답변

1

PHP와 오류를 인코딩에 의해 엉망이 될 가능성이 ASCII 호환 JSON 출력 그냥 기본값을 좀 도와 수 있기를 바랍니다.

잘못된 것은 아닙니다. JSON_UNESCAPED_UNICODE은 기본적으로 꺼져 있습니다.

+0

감사합니다. an'ser! 얻은 경우 오른쪽 인코딩 된 날짜에 대한 방법은 JSON_UNESCAPED_UNICODE입니다. – SoDaHo