json을 사용하여 데이터베이스에서 변수를 반향합니다. 그러나 ë를 (를) 표시합니다. 행운으로UTF-8 문자가 JSON 형식으로 올바르게 표시되지 않습니다.
: 나는이 작업을 수행 한이 문제를 해결하기위한 시도에서
. 모든 아이디어를 수정하는 방법.
편집 :
if (isset($_GET['term'])){
$return_arr = array();
try {
$conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT School FROM Schools WHERE School LIKE :term');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = $stmt->fetch()) {
$return_arr[] = $row['School'];
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
/* Toss back results as json encoded array. */
echo mb_detect_encoding($return_arr, 'auto');
}
당신이'JSON_UNESCAPED_UNICODE' 플래그를 생각 해 봤나? http://php.net/manual/en/function.json-encode.php를 참조하십시오. –
시도했지만 여전히 동일한 결과가 나타납니다. –
echo mb_detect_encoding ('■', 'auto'); 이미 UTF-8이라는 것을 반환합니다. JSON_UNESCAPED_UNICODE는 "\ xc3 \ xa9"가 é에 대한 이스케이프 처리되지 않은 유니 코드임을 알려주지 않습니다. 문제가 데이터베이스 문자 세트 – miknik