Новости
- 16.02.2019 - Вышел Shopkeeper 4.0.3
- 05.02.2019 - Symfony для MODX-разработчиков
- 18.01.2019 - Вышел Shopkeeper 4.0.0, Обновлен сайт
- 15.11.2018 - Импорт/экспорт товаров в Shopkeeper 4
- 18.09.2018 - Вышел Shopkeeper v4.0-rc
- 14.09.2018 - Установка и обзор Shopkeeper4
- 29.07.2018 - Бесплатные базы данных MongoDB на 1 год
- 21.07.2018 - Критическая уязвимость MODX <=2.6.4
- 01.06.2018 - Тест производительности Shopkeeper 4
Последние темы
-
Вышел Shopkeeper 4.0.3
Новости1 -
TagManager2 отображает в фильтре удаленные значения TV-полей
Поддержка7 -
Бесплатные базы данных MongoDB на 1 год
Новости7 -
Не добавляется цена товара в корзину.
Поддержка8 -
Пересчет цены в зависимости от параметров
Поддержка3 -
CatalogFill: не работает импорт в таблицу MIGXDB
MODX - Вопросы и обсуждения15 -
TagManager2 при фильтрации на странице, ничего не происходит
Поддержка17 -
Не выводиться ID товара в письме
Поддержка2 -
Несколько значений checkbox для Formit
MODX - Вопросы и обсуждения2 -
Array в теле письма после оформления заказа
Поддержка5 -
Изменения товара на внешней части сайта modx
MODX - Вопросы и обсуждения10 -
tagManager2 отображает в фильтрации значения удаленных товаров
Поддержка1 -
Цена доставки (не получается найти)
Общие вопросы3 -
shopkeeper3 и цена в зависимости от площади
Поддержка9 -
Catalofill выдает 502 ошибку при загрузке 35 000+ позиций
Поддержка13 -
Получить имена и значения всех TV
Поддержка10 -
CatalogFill + MIGX (не shopkeeper)
Поддержка4 -
Symfony для MODX-разработчиков
Новости1 -
Shopkeeper2 другие цены у товаров в зависимости от выбранного способа оплаты
Поддержка7 -
Не добавляет товары через SHK.toCartFromArray
Поддержка4
Запись в базу кирилицой
-
возникла необходимость выгрузки заказов из базы, но обнаружилась вот такая ситуация, в таблице shopkeeper3_purchases в столбцах data и options русские символы выглядят вот так:
\u0422\u0426 \u0414\u0437\u0435
Если правильно понимаю это коды юникода. Как сделать что бы в базу записывались нормальные символы вместо кодов юникода?
-
Это JSON. Переводится в массив функцией php.net/json_decode
-
А как сделать так, что бы сразу записывалось в базу кириллицей?
-
Никак или пиши свой псевдо JSON
$name = 'Вася'; $myJSON = "{'name':'$name'}";
И так далее...
-
Помогите разобраться, пытаюсь вывести строку с базы и перевести функцией json_decode, но в итоге получаю пустоту
$sql = "SELECT options FROM modx_shopkeeper3_purchases where id = 65"; $json = mysqli_query($connection, $sql) or die("Ошибка запроса: " . mysqli_error($connection)); while ($row = mysqli_fetch_assoc($json)) { $returnValue = json_decode($row,true); echo ($returnValue); }
есть мнение, что записи в базе не utf8, т.к. при попытке получить просто пару строк:
$sql = "SELECT id, name FROM modx_shopkeeper3_purchases where id = 65"; $json = mysqli_query($connection, $sql) or die("Ошибка запроса: " . mysqli_error($connection)); while ($row = mysqli_fetch_assoc($json)) { echo $row['id']; echo $row['name']; }
Получаю вот это: 65 ▒▒▒▒▒▒
Что конкретно делаю не так?
Если у кого есть возможность помочь в выгрузке заказов в txt, помогите, буду благодарен материально.
-
Попробуй так с помощью iconv
$sql = "SELECT id, name FROM modx_shopkeeper3_purchases where id = 65"; $json = mysqli_query($connection, $sql) or die("Ошибка запроса: " . mysqli_error($connection)); while ($row = mysqli_fetch_assoc($json)) { $row= iconv('Windows-1251','UTF-8', $row); echo $row['id']; echo $row['name']; }
-
В JSON только две колонки "data" и "options".
$row['data'] = json_decode($row['data'], true); $row['options'] = json_decode($row['options'], true);
-
Спасибо всем за помощь, скидываю скрипт, может кому пригодится
<?php $db=mysql_connect("localhost","user","pass") or die ('Ошибка подключения к бд'); mysql_select_db("database") or die ("База данных не найдена"); mysql_query("set_client='utf8'",$db); mysql_query("set character_set_results='utf8'",$db); mysql_query("set collation_connection='utf8_general_ci'",$db); $result=mysql_query("SELECT o.id,p.name,p.data,o.price,p.options,o.contacts FROM `modx_shopkeeper3_orders` as o LEFT JOIN `modx_shopkeeper3_purchases` as p on `o`.`id`=`p`.`order_id`",$db); $file_name=__DIR__.DIRECTORY_SEPARATOR.'export_'.date('Y_m_d_H_i_s').'.txt'; if($result){ $handle=fopen($file_name,'w+'); while($row=mysql_fetch_assoc($result)){ $params=json_decode($row['options'],true); $data=json_decode($row['data'],true); $contacts=prepareContacts(json_decode($row['contacts'],true)); $txt=$row['id'].','.$row['name'].','.$data['weight'].','.$params['param1']['4'].','.$data['articul'].','.$row['price'].','.$contacts['fullname'].','.$contacts['phone'].','.$contacts['email'].'\r\n'; fwrite($handle,$txt); } fclose($handle); } function prepareContacts($contacts){ $result=[]; foreach($contacts as $field){ $result[$field['name']]=$field['value']; } return $result; } ?>