| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > json_encode косячит русский текст на UTF-8 |
| Автор: Rooner 6.12.2012, 20:42 | ||||
| Почему json_encode косячит русские символы? Кодировка везде указана UTF-8: В php.ini стоит default_charset = "utf-8" В хэдэре стоит <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> В .htaccess стоит adddefaultcharset utf-8 В подключении к БД стоит mysql_query("SET NAMES 'UTF8'"); Сами файлы имеют кодировку UTF-8 буз DOM смотрел через NotePad++ Ну и в браузере кодировка определяется как UTF-8 Из этого
Получается это
|
| Автор: Guedda 6.12.2012, 20:52 |
| Попробуй вторым параметром JSON_UNESCAPED_UNICODE так как очень похоже, что у тебя по умолчанию JSON_HEX_TAG |
| Автор: Arantir 6.12.2012, 20:53 |
Может попробовать дефис в названии кодировки поставить? Ну... мало ли =) Нет, все же в БД она без дефиса. |
| Автор: Rooner 6.12.2012, 21:07 | ||||||||
Guedda, попробовал так
пишет:
Я использую ajax. Можно ли просто декодировать возвращенные данные в js коде? Т.е. Получил строку в виде:
И как ее теперь декодировать в js коде? Вот так не работает:
|
| Автор: Sanchezzz 6.12.2012, 21:15 |
| JSON.parse( ); |
| Автор: Arantir 6.12.2012, 21:16 |
| JSON_UNESCAPED_UNICODE появился только в php 5.4.0. У вас, наверное, ~5.3. |
| Автор: Rooner 6.12.2012, 21:17 |
| Sanchezzz, отлично, спасибо, то что надо. Добавлено через 20 секунд Arantir, от оно чо, ок |