2014-06-11 7 views
1

나는 다음과 같은 코드가 있습니다내 JSON은 어떻게 얻습니까?

Header('Content-Type: text/html; charset=utf-8'); 
Header('Content-type: application/json'); 
$aData['test'] = html_entity_decode("Š"); 
echo json_encode($aData); 

내가 원하는 출력 s의,하지만 대신이 출력되지 않은 : 잘 작동 내 로컬 XAMPP 서버에서

{ 
    test: "Š" 
} 

을하지만, 실제 서버에, 어떤 종류의 설정이나이 문제에 대한 또 다른 해결책이 있습니까?

답변

1

이것은 로컬 & 서버의 PHP 버전이 서로 다르기 때문일 수 있습니다. PHP 5.4 이전에는 html_entity_decode의 기본 인코딩은 ISO-8859-1 이었지만 사용자는 UTF-8이 필요합니다. 여기

두 솔루션 :

  1. 업그레이드 PHP 5.4 이상에; html_entity_decode("Š", ENT_COMPAT | ENT_HTML401, "UTF-8")

Documentation : 또는

  • 명시 적으로 인코딩을 선언합니다.

  • +0

    감사합니다. 두 번째 사항은 정상적으로 작동합니다! – Lippi