2014-02-05 3 views
0

У меня есть строка test éàå. когда я выполняю json_encode, специальный символ преобразуется в test u00e9u00e0u00e5.json decode для специальных символов

Теперь при выполнении json_decode, я не получаю обратно оригинальные символы, но вместо этого он, как остальные test u00e9u00e0u00e5

Может кто-то помочь мне, чтобы иметь специальный символ обратно.

+2

** СОВЕТ **: 'u00e9' является кодировкой UTF8 для' é' – hjpotter92

ответ

0

json_encode и json_decode работают только с закодированными строками UTF-8.

Чтобы обеспечить правильное отображение на вашей веб-странице, используйте кодировку utf-8.

<!DOCTYPE html> 
<html lang="en"> 
<head>  
<meta charset="utf-8">  
</head> 
<body> 
<?php 
    $string = 'test éàå'; 
    $json = json_encode($string); 
    echo json_decode($json); 
?> 
</body> 
</html> 
+0

Спасибо ... это работает отлично. Но что делать, если я вставляю массив данных в базу данных и пытаюсь вернуть их, например json_encode ($ _ POST); И я пытаюсь сделать это json_decode ($ result) Он все еще дает мне закодированный специальный символ. – pris

+0

Убедитесь, что html-форма находится в utf-8, и вам не придется вставать и извлекать данные. –

+0

Извините за глупые вопросы. Как я могу это обеспечить. А также я использую index.php, а затем выполняю вставку в dbase – pris

Смежные вопросы