12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 728
1

Не созраняются данные в кириллице в JSON-строке

12.11.2018, 15:44. Показов 2050. Ответов 6

Добрый день.

При сохранении данных в виде JSON-строки не сохраняются данные в кириллице.
PHP
1
2
3
4
5
<?php
$mpcard[1659] = array (5999,"68-74-80","синий","100% лебяжий пух","comb","Детский комбинезон","/images/comb/","Detsky-kombinezon","-Moncler","Moncler ",13000,"Китай","Монклер",5200);
var_dump($mpcard[1659]);
file_put_contents($_SERVER['DOCUMENT_ROOT'] .'/test.db', json_encode($mpcard[1659]));
?>
А сохранение происходит таким образом:
HTML5
1
[5999,"68-74-80",null,null,"comb",null,"\/images\/comb\/","Detsky-kombinezon","-Moncler","Moncler ",13000,null,null,5200]
Т.е. всё, что было кириллице превращается в "null".
Сайт сделан в кодировке 1251.
Как изменить код, чтобы данные в кириллице сохранялись без изменения сайта в UTF-8?

Заранее благодарен за ответ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2018, 15:44
Ответы с готовыми решениями:

Кодировка при отправке json запроса в кириллице
Прошу помощи - отправляю post-запрос на сервер типа json-rpc. Текст запроса на кириллице,использую...

Входные данные на кириллице
Столкнулся с проблемой, что у меня консоль не реагирует на кириллицу, при этом сами русские слова и...

Замена символов в строке на кириллице
Здравствуйте,нужно сделать так,чтобы при вводе «Иванов Иван Иваныч», происходила замена букв на...

Как выводить данные с MySQL на кириллице
Добрый день У меня данные в БД записаны в кириллице. Кодировка MySQL utf8 пытаюсь вытащить...

6
1112 / 554 / 319
Регистрация: 21.06.2012
Сообщений: 1,854
13.11.2018, 12:44 2
PHP
1
json_encode($mpcard[1659], JSON_UNESCAPED_UNICODE);
либо преобразуйте сам текст из одной кодировки в другую функцией iconv
1
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 728
13.11.2018, 18:55  [ТС] 3
Цитата Сообщение от sasha0012 Посмотреть сообщение
json_encode($mpcard[1659], JSON_UNESCAPED_UNICODE);
Записал так:
PHP
1
2
3
4
5
<?php
$mpcard[1659] = array (5999,"68-74-80","синий","100% лебяжий пух","comb","Детский комбинезон","/images/comb/","Detsky-kombinezon","-Moncler","Moncler ",13000,"Китай","Монклер",5200);
var_dump($mpcard[1659]);
file_put_contents($_SERVER['DOCUMENT_ROOT'] .'/test.db', json_encode($mpcard[1659], JSON_UNESCAPED_UNICODE));
?>
При запуске файла с этим кодом выдает ошибку: Warning: json_encode() expects parameter 2 to be long, string given in W:\home\test.ru\www\test.php on line 4
Что это значит? И как исправить?
0
Эксперт PHP
4842 / 3854 / 1599
Регистрация: 24.04.2014
Сообщений: 11,308
13.11.2018, 19:05 4
alanat, значит php пора обновлять
1
1112 / 554 / 319
Регистрация: 21.06.2012
Сообщений: 1,854
13.11.2018, 19:07 5
JSON_UNESCAPED_UNICODE добавлен в версиях php >= 5.4
1
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 728
13.11.2018, 19:31  [ТС] 6
Цитата Сообщение от sasha0012 Посмотреть сообщение
JSON_UNESCAPED_UNICODE добавлен в версиях php >= 5.4
Цитата Сообщение от Jewbacabra Посмотреть сообщение
значит php пора обновлять
С сайта Денвера максимум - это php5.3
Как можно сделать его обновление?
0
1112 / 554 / 319
Регистрация: 21.06.2012
Сообщений: 1,854
13.11.2018, 21:52 7
Цитата Сообщение от alanat Посмотреть сообщение
Как можно сделать его обновление?
Теоретический можно (в интернете даже можно найти пошаговую инструкцию), но практический нужно установить новую сборку типа openserver или xampp.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2018, 21:52
Помогаю со студенческими работами здесь

JSON Reader. Как прочитать значение переменной в строке JSON
Добрый день! Подскажите пожалуйста как прочитать значение переменной в строке JSON: Есть...

Как распарсить данные из первого json-а и перекинуть их в другой json
Добрый день, столкнулся с такой задачей. Есть вот такой json Необходимо извлечь...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru