2012-12-22 4 views
1

MySQL 데이터베이스에서 JSON 형식으로 데이터를 가져 오려고합니다.PHP 코드의 액센트 조작

테이블의 데이터 정렬은 utf8_general_ci입니다.

/* change character set to utf8 */ 
if (!$mysqli->set_charset("utf8")) { 
    printf("Error loading character set utf8: %s\n", $mysqli->error); 
} else { 
    printf("Current character set: %s\n", $mysqli->character_set_name()); 
} 

그러나 페이지가 브라우저에 의해 검색 할 때, 액센트 단어가 제대로 표시되지 않습니다 : 그리고 내 PHP 코드에서이 코드를 가지고있다. 예를 들어, "á"는 "\ u00e1"로 표시됩니다.

무엇이 여기에 있습니까?

+1

mysql 연결에는 서버 -> 브라우저 항목이 없습니다. 적절한 charset/content-type 헤더를 사용하여 UTF를 사용하고 있다고 브라우저에 알릴 필요가 있습니다. –

답변

2

당신은 단순히 인코딩 된 JSON보고있는 진짜 문제가되지 않습니다. JSON을 디코딩하면 다시 á이됩니다.

$a = json_encode('á'); 
echo $a; //'"\u00e1"' 
echon json_decode($a); // 'á'