Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
xaker1
7 / 7 / 0
Регистрация: 21.02.2011
Сообщений: 80
#1

json_decode - PHP

26.07.2011, 12:26. Просмотров 2184. Ответов 1
Метки нет (Все метки)

Здравствуйте.
Возникла проблема с ф-цией json_decode.
В MySQL базе (utf-8) хранится строка в формате json. Данная строка была сформирована с помощью json_encode в другом моем скрипте.

PHP
1
2
3
4
5
$person="SELECT * FROM `person` WHERE `person` LIKE '".$_REQUEST['person']."'";
    $person=qmysql($person, __LINE__, __FILE__);
    $person=mysql_fetch_array($person);
$cont = $person['contacts'];
$contact=json_decode($cont,1);
Но $contacts = NULL.
Если же содержимое $cont вывести на экран, и полученную строку предварительно присвоить переменной $cont, то json_decode отрабатывает нормально. Так что json валидный.
Скрипт в utf8, база в utf8.
Прошу подсказать, в чем может быть проблема.
php 5.2.17.1

Добавлено через 11 часов 44 минуты
Проблема была в переводах строк. Но теперь русский текст приходит в виде какой-то странной строки
u0412u0430u043bu0435u0440u0438u0439
вместо
Валерий.

Подскажите, как получить исходную строку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2011, 12:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос json_decode (PHP):

json_decode() - PHP
Здравствуйте! Весь день пытаюсь декодировать эту строку так, чтобы получилось пять ассоциативных массивов, ничего не выходит. Можно ли...

json_decode - PHP
Помогите: как сделать так, чтобы выводило "steve dogs" от сюда "{"response":{"text":"steve dogs"}}", не работает: $Json = "запрос...

json_decode - PHP
Помогите с json_decode выдает информацию: "response: " Как вывести отсюда "303701"?

json_decode wtf!? - PHP
Правильно ли выводить aid из $json ? - $json->response->aid; $json = "{"response":} ";

Json_decode ничего не возвращает - PHP
Всем привет! Есть json такого вида:...

Json_decode и одинарные кавычки - PHP
Через encode кодирую строку с одинарными кавычками. Возвращает строку с экранированными ' в \'. Но json_decode возвращает ошибку(4). У...

1
suharik
260 / 246 / 5
Регистрация: 03.09.2010
Сообщений: 805
26.07.2011, 23:41 #2
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function json_encode_cyr($str) {
$arr_replace_utf = array('\u0410', '\u0430','\u0411','\u0431','\u0412','\u0432',
'\u0413','\u0433','\u0414','\u0434','\u0415','\u0435','\u0401','\u0451','\u0416',
'\u0436','\u0417','\u0437','\u0418','\u0438','\u0419','\u0439','\u041a','\u043a',
'\u041b','\u043b','\u041c','\u043c','\u041d','\u043d','\u041e','\u043e','\u041f',
'\u043f','\u0420','\u0440','\u0421','\u0441','\u0422','\u0442','\u0423','\u0443',
'\u0424','\u0444','\u0425','\u0445','\u0426','\u0446','\u0427','\u0447','\u0428',
'\u0448','\u0429','\u0449','\u042a','\u044a','\u042d','\u044b','\u042c','\u044c',
'\u042d','\u044d','\u042e','\u044e','\u042f','\u044f');
$arr_replace_cyr = array('А', 'а', 'Б', 'б', 'В', 'в', 'Г', 'г', 'Д', 'д', 'Е', 'е',
'Ё', 'ё', 'Ж','ж','З','з','И','и','Й','й','К','к','Л','л','М','м','Н','н','О','о',
'П','п','Р','р','С','с','Т','т','У','у','Ф','ф','Х','х','Ц','ц','Ч','ч','Ш','ш',
'Щ','щ','Ъ','ъ','Ы','ы','Ь','ь','Э','э','Ю','ю','Я','я');
$str1 = json_encode($str);
$str2 = str_replace($arr_replace_utf,$arr_replace_cyr,$str1);
return $str2;
}
?>
Используйте как пожелаете

Добавлено через 1 минуту
в вашей ситауции с функции просто уберите json_encode и подставляйте туда свою переменную с готовым json коддом
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2011, 23:41
Привет! Вот еще темы с ответами:

Ошибка json_decode + Headers already sent - PHP
Доброго времени суток,подскажите пожалуйста данные ошибки появляются при попытке отправить GCM в админке MY SOCIAL NETWORK V2.3 PHP...

Смещение для json_decode() - PHP
Есть ли возможность программно увеличивать offset для json_decode()? Имеется ответ JSON, его перебираю циклом, изначально там 24...

Json_decode и json_encode в php - PHP
Всем привет! Создаем массив $result = array('id' =&gt; &quot;44&quot;, 'datetime' =&gt; &quot;28.12.2014&quot;, 'ip' =&gt; &quot;192.168.0.1&quot;, 'nick' =&gt; &quot;русскийник&quot;,...

Object of json_decode to array - PHP
Можно ли простым способом перевести объект полученный json_decode($content) в массив? Я везде использую эту ф-цию с преобразованием в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru