2014-10-13 1 views
-1

나는 서버에 다음과 같은 PHP 코드를하고 있어요 :json_enocde를 중단하여 유니 코드를 인코딩하는 방법?

<?php 

header('Content-Type: application/json'); 

// HELL LOT OF CODE 

$array = array($url => $link, 'Made With ♥'); 

echo json_encode($array); 

?> 

예상 "으로 ♥ 제작" 실제 :

모든 추측 프로그래머 "\의 u2665로 만든"?

감사합니다. 모두 upvoted! 건배! 빠른 답변이 올바른 답변을 얻었습니다! : D

+0

는 [문서]의 '옵션'섹션을 참조하십시오 (http://php.net/%20json_encode) ... 당신은 – Carpetsmoker

+0

:-) youself을이 알아 낸 수 너 왜 신경 쓰냐? – Quentin

+0

@Quentin ** Humans ** – mehulmpt

답변

2

당신은 적어도 PHP 5.4

header('Content-Type: application/json; charset=utf-8'); 
json_encode($array, JSON_UNESCAPED_UNICODE); 

JSON_UNESCAPED_UNICODE (정수) 인코딩 멀티 바이트가 필요합니다 말 그대로 유니 코드 문자입니다 (기본값은 \ uXXXX로 이스케이프됩니다). PHP 5.4.0부터 사용 가능합니다.

+0

''json_encode ($ var, 'u2665'); '그렇습니까? 하지만 그것은'json_encode()가 오류를 반환합니다.''json_encode()는 매개 변수 2가 길어지면, 주어진 문자열'' – mehulmpt

+0

@user2513722 아니요, 그가 게시 한 것과 정확하게 일치해야합니다 : p –

+0

@ user2513722 아니요,'echo json_encode ($ array, JSON_UNESCAPED_UNICODE); ' – mochalygin

1

당신은 이것에 대한 선택 플래그 JSON_UNESCAPE_UNICODE (PHP 위 5.4 이상)를 사용할 수 있습니다

header('Content-Type: application/json; charset=utf-8'); 
echo json_encode($array, JSON_UNESCAPED_UNICODE); 
exit; 
+0

이유가 무엇인지 모르겠지만 아무 것도 잘못이 없습니다. – Ghost

+0

그것은'Made With â ™ ¥ '로 출력됩니까? – mehulmpt

+0

@ user2513722 항상 utf-8로 설정 – Ghost

1

당신이 필요합니다 json_encode($array, JSON_UNESCAPED_UNICODE);

관련 문제