Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> json_encode косячит русский текст на UTF-8 
:(
    Опции темы
Rooner
Дата 6.12.2012, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.8.2011

Репутация: нет
Всего: нет



Почему 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
Из этого
Код

    echo json_encode('<div class="err">Заполните поле "Полный текст"</div>');

Получается это
Код

    "
    \u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043f\u043e\u043b\u0435 \"\u041f\u043e\u043b\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\"<\/div>"

PM MAIL   Вверх
Guedda
Дата 6.12.2012, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Попробуй вторым параметром JSON_UNESCAPED_UNICODE
так как очень похоже, что у тебя по умолчанию JSON_HEX_TAG


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Arantir
Дата 6.12.2012, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



Цитата(Rooner @  6.12.2012,  19:42 Найти цитируемый пост)
В подключении к БД стоит mysql_query("SET NAMES 'UTF8'");

Может попробовать дефис в названии кодировки поставить? Ну... мало ли =)

Нет, все же в БД она без дефиса.

Это сообщение отредактировал(а) Arantir - 6.12.2012, 20:54


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
Rooner
Дата 6.12.2012, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.8.2011

Репутация: нет
Всего: нет



Guedda, попробовал так
Код

echo json_encode($text, JSON_UNESCAPED_UNICODE), "\n";
echo json_encode($text, JSON_UNESCAPED_UNICODE);


пишет:
Код

Warning: json_encode() expects parameter 2 to be long, string given in Z:\home\steklomag\www\test.php on line 6


Я использую ajax. Можно ли просто декодировать возвращенные данные в js коде? Т.е. Получил строку в виде:
Код

"\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043f\u043e\u043b\u0435 \"\u041f\u043e\u043b\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\"<\/div>"

И как ее теперь декодировать в js коде?
Вот так не работает:
Код

alert(json_decode(res));

PM MAIL   Вверх
Sanchezzz
Дата 6.12.2012, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



JSON.parse( );


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Arantir
Дата 6.12.2012, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



JSON_UNESCAPED_UNICODE появился только в php 5.4.0. У вас, наверное, ~5.3.

Это сообщение отредактировал(а) Arantir - 6.12.2012, 21:17


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
Rooner
Дата 6.12.2012, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.8.2011

Репутация: нет
Всего: нет



Sanchezzz, отлично, спасибо, то что надо.

Добавлено через 20 секунд
Arantir, от оно чо, ок
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0779 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.