Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не работает json_encode и json_decode

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
stas0
Отправлено: 05 Января, 2014 - 22:23:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 186
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+][+][+]


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. header("Content-Type: text/html; charset=UTF-8");
  4.  
  5. $str = array("Привет", "мир");
  6. $jsonStr = json_encode($str);
  7. echo $jsonStr;// [null,null]
  8. ?>
  9.  


не могу понять что такое?

(Отредактировано автором: 05 Января, 2014 - 22:32:52)

 
 Top
caballero
Отправлено: 05 Января, 2014 - 22:26:36
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




что именно не работает?
выведи переменную на екран

(Отредактировано автором: 05 Января, 2014 - 22:30:07)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
stas0
Отправлено: 05 Января, 2014 - 22:28:21
Post Id



Частый гость


Покинул форум
Сообщений всего: 186
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+][+][+]


не распознает русские буквы, английский без проблем

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. header("Content-Type: text/html; charset=UTF-8");
  4.  
  5. $str = array("Привет", "мир");
  6. $jsonStr = json_encode($str);
  7. echo $jsonStr;// [null,null]
  8.  
  9. $str1 = array("Hello world", "мир");
  10. $jsonStr1 = json_encode($str1);
  11. echo $jsonStr1;// ["Hello","world"]
  12. ?>
  13.  

(Отредактировано автором: 05 Января, 2014 - 22:34:31)

 
 Top
RickMan
Отправлено: 05 Января, 2014 - 22:39:03
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




С кодировкой проблемы... почитай https://toster[dot]ru/q/6050 и http://www[dot]pragmaticweb[dot]ru/viewt[dot][dot][dot]p?f=9&t=1577
 
 Top
teddy
Отправлено: 05 Января, 2014 - 23:00:41
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




У сырого json_encode проблемы с Русскими буквами, если Вы используете версию PHP 5.4 или выше, то можно добавить специальную константу, которая решит данную проблему с кодировкой.

Если же версия PHP которую Вы используете меньше 5.4, тогда есть обходной вариант. JSON по сути есть строка, и если Вы сформируете её вручную идентично тому, что возвращает функция json_encode, то это тоже подойдет.
PHP:
скопировать код в буфер обмена
  1. $json = '{"name":"Вася","age":"18"}';

Но лучше используйте первый вариант.

(Отредактировано автором: 05 Января, 2014 - 23:02:05)

 
 Top
esterio
Отправлено: 05 Января, 2014 - 23:22:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




никогда не возникало проблем с кирилицей с "сирим" json_encode до 5.4. скорее проблема совсем в другом. плюс тип контенда должен быть application/json
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB