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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с руской кодировкой в функции json_encode 
V
    Опции темы
RinOSpro
Дата 27.1.2011, 17:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня одного такое происходит?

Массив JSON как положено UTF-8. Если где ни будь встречается символ табуляции то json_encode не работает...

JSON примерно такой:
[["aa","1","189515","27","8","79578","4854","3","0"],["    bb","0","827604","81","6","34858","4956","2","0"]]

там где "    bb" символ табуляции.

Это сообщение отредактировал(а) RinOSpro - 27.1.2011, 17:28
  Вверх
bars80080
Дата 27.1.2011, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



значит в парсере json табуляция - служебный символ. либо переписывай метод работы, либо не используй табуляцию, либо заменяй её на сочинённую последовательность %:№;:%;№:

а ещё лучше покопаться в документации используемых методов и найти такой, который обрабатывает данные и выдаёт уже в нужном виде
PM MAIL WWW   Вверх
RinOSpro
Дата 27.1.2011, 18:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я решил проблему просто) 

Код

$data = str_replace("\t", "", $data);


Тем более мне от этого таба ни жарко ни холодно...
Но странно что ни где не написано про таб... (в гугле искал). А может есть еще какие то служебные символы?
  Вверх
skyboy
Дата 27.1.2011, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



странно. у меня как
Код

$var = array("4        3"); // две табуляции внутря
var_dump(json_encode($var));

так и 
Код

$var = array("4\t\t3"); 
var_dump(json_encode($var));

отрабатывает нормально.
PHP Version 5.3.3-1ubuntu9.3

Добавлено через 38 секунд
в смысле, это может быть что-то достаточно редкое и платформозависимое.
PM MAIL   Вверх
RinOSpro
Дата 28.1.2011, 17:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Попробуй поставить символ табуляции вначале, как в моем случае: "    bb"
  Вверх
skyboy
Дата 28.1.2011, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Код

$var = array("    bb"); 
var_dump(json_encode($var));
$var = array("a"=> "    bb"); 
var_dump(json_encode($var));

нормально работает.

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.

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


 




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


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

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