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 и PHP кодировка

 PHP.SU

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


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

> Описание: JSON и PHP кодировка выдает null
Albinos4210
Отправлено: 24 Октября, 2016 - 21:51:39
Post Id


Новичок


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


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




Подскажите пожалуйста. Пишу программу для андроида, надо связать через JSON БД. Но столкнулся с кодировкой(наверное)
PHP:
скопировать код в буфер обмена
  1. $con = mysqli_connect ( HOST, USER, PASS, DB );
  2. mysql_query('SET CHARACTER SET utf8');
  3. $sql = "select * from s_products ORDER BY name LIMIT 1000,100";
  4. $res = mysqli_query ( $con, $sql );
  5. $result = array ();
  6. while($row = mysqli_fetch_array($res)){
  7. array_push($result, array('id'=>$row[0], 'name'=>$row[3]
  8. ));
  9. }
  10. $json=json_encode (array ("result" => $result) );
  11. echo $json;
  12. mysqli_close ( $con );

Проблема только с кирилицей. Выдает
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. {"result":[{"id":"30489","name":null},{"id":"34705","name":"Babyliss EP technology wet and dry 38mm 2073PE"},{"id":"12031","name":null},{"id":"11987","name":null},{"id":"11988","name":null},{"id":"11989","name":null},{"id":"11990","name":null},{"id":"11991","name":null},{"id":"36368","name":null},{"id":"11993","name":null},{"id":"11994","name":null},{"id":"11995","name":null},
  3.  
 
 Top
Fart
Отправлено: 25 Октября, 2016 - 11:49:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


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




сомнения по поводу данных имеются...

$row[3], то есть вы хотите сказать, что у вас уверенность есть в существовании данных?

mysqli_fetch_array($res) - покажите хотя бы 1 результат этого целиком полученного из субд...

"name":null - сомневаюсь, что кириллица тут виновата... null - это null

и последнее... вдаваться в подробности кода не хочу... но есть подозрения что array_push тут виноват в сплетении полученных данных
 
 Top
Albinos4210
Отправлено: 25 Октября, 2016 - 11:53:04
Post Id


Новичок


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


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




http://web[dot]curl[dot]com[dot]ua/json2.php

конечно есть 4 колонка.

на странице видно
{"id":34705,"name":"Babyliss EP technology wet and dry 38mm 2073PE"}
а дальше null
(Добавление)
array_push 90%.
Что делать?
 
 Top
Fart
Отправлено: 28 Октября, 2016 - 20:47:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


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




Проверяйте кодировку. Просмотрите ответ mfa без создания стека массива
(Добавление)
Так как без искомых данных трудно представить что происходит и уберите аррей пуш. Создайтк массив используя

$result[] =
 
 Top
Albinos4210
Отправлено: 28 Октября, 2016 - 21:07:05
Post Id


Новичок


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


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




Iconv в цикл вставил и изменил кодировку row name с 1251 на utf8. Чет с базы выгружалось в вин1251 хотя по настройкам утф8
 
 Top
Fart
Отправлено: 28 Октября, 2016 - 21:13:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


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




Сравнение может в ср1251?
(Добавление)
Или база в ср1251 переведена ?
 
 Top
Albinos4210
Отправлено: 28 Октября, 2016 - 21:15:12
Post Id


Новичок


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


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




Мож, я с телефона пишу. Короче решил.
 
 Top
Fart
Отправлено: 28 Октября, 2016 - 21:15:44
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


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




Икона можно , но если есть возможность обойтись перепроверяйте данные и кодировка скрипта частенько выкрутасы показывает
 
 Top
Albinos4210
Отправлено: 28 Октября, 2016 - 21:16:09
Post Id


Новичок


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


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




База вся в утф8. Хз чё так.
(Добавление)
Я вывел строку row name показало кучу ???? . Изменил кодировку страницы в мозиле на вин1251 она подошла. И икона в цикл прописал.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB