2016-06-10 2 views
1

인코딩 된 문자를 반환하는 API에서 데이터를 가져옵니다. 반환 된 문자열의 예제의 경우 특수 기호 (시작)에 대한 유니 코드입니다 \u2605입니다 링크 참조 : http://www.fileformat.info/info/unicode/char/2605/index.htmPHP | 문자 문제를 일으키는 json_decode()

PHP로를 내가 작업 할 수 있도록 배열로 데이터를 변환하려면 다음 코드를 실행 그와 함께 : 그러나

$result = file_get_contents($url); 
$decoded = json_decode($result, true) 

, 내가 가지고있는 문제는 기호에 대한 유니 코드는 다음 몇 가지 giberish로 변환하는 것입니다. 예를 들어 \u2605★으로 변환됩니다.

다른 기호도 변환됩니다.

여기서 어떻게 할 수 있습니까?

+0

이 링크가 도움 여부 것입니다 참조하십시오. http://stackoverflow.com/questions/6771938/anyway-to-return-php-json-encode-with-encode-utf-8-and-not-unicode –

+0

json_decode가 json_encode가 아닌 것을 사용하고 있습니다. –

답변

0

JSON은 기본적으로 utf-8 문자 인코딩을 사용하고 있습니다. 그래서 UTF-8 문자셋으로 디코딩 된 JSON을 출력해야합니다. 당신이 HTML에 출력을 수행하는 경우

, 메타 문자 집합을 설정하려고 :

<html> 
    <head> 
     <meta charset="utf-8" /> 
    </head> 
    <body> 
    <?php 
     $json = '{"value":"\u2605"}'; 
     $dec = json_decode($json); 
     var_dump($dec); 
    ?> 
    </body> 
</html>