12.05.2018 14:34
Diamondne
 
Добрый день.

Попалась мне в руки сия штуковина. Хотим использовать ее для маленьких торговых точек. Но загрузка товаров через облако мне не нравится, поэтому решил сделать механизм прямой выгрузки товаров из Супермаг в локальную БД кассы. База на кассе sqlite.
Столкнулся с такой проблемой:
Наименование товара и единицы измерения на русском языке, при загрузке из облака производителя касса прекрасно пишет по-русски и на экране и в чеке, а если добавляю товар через insert, то касса не понимает эту кодировку и рисует иероглифы. В приложенном скриншоте первые две строки - товары из облака, последняя - ручное добавление. Сколько ни пытался, не могу инсертить записи в другой кодировке. Прошу помощи. Копию базы прилагаю.


(0,01Мб)
https://storage.olegon.ru/supermag/u.../goodsDb.db.7z
(0,04Мб)
12.05.2018 14:37
Diamondne
 
Маленькая поправка, последняя строка в селекте - это не результат инсерта, я просто попробовал update'ом изменить наименование товара, но сути это не меняет.
12.05.2018 14:41
OlegON
 
Первые две строки - "Сигареты" и "Спички" в CP866, DOSовой кодировке.
Насчет облака ты все же подумай... Я бы рад с кем-то вместе поработать над загрузкой отсюда: https://olegon.ru/forumdisplay.php?f=374
12.05.2018 15:05
Diamondne
 
Насчет кодировки я понял, только я не могу понять, как при помощи консоли и sqlite3 записать русский текст в этой кодировке, чтобы касса понимала. Относительно базы ШК не совсем понял, что вы имели ввиду, переделать дримкас на получение наименований товаров с вашего облака?
12.05.2018 15:19
konst
 
в SQLite всегда использовал кодировку UTF8.
в Delphi использую конструкцию:
Код:
AnsiToUtf8(sqltxt);
12.05.2018 16:51
Diamondne
 
Цитата:
konst в SQLite всегда использовал кодировку UTF8.
в Delphi использую конструкцию:
Код:
AnsiToUtf8(sqltxt);
Т.е. с использованием функционала консоли и sqlite3 данные в таком формате в таблицу не записать?
12.05.2018 17:01
OlegON
 
Цитата:
Diamondne переделать дримкас на получение наименований товаров с вашего облака
ну, как вариант... либо добавку какую-то для чего-то аналогичного...

Цитата:
Diamondne как при помощи консоли и sqlite3 записать русский текст в этой кодировке
chcp не работает? среди параметров sqllite ничего подобного нет?
12.05.2018 17:54
Diamondne
 
chcp не влияет, среди параметров sqlite есть только переключение на форматы, которые она поддерживает. Но, походу, придумал решение. Создаем csv в нужной кодировке и импортируем его в БД через sqlite. До конца проверю только в понедельник, но через вьюверы формат такой же получается, как и первые два столбца.
12.05.2018 22:32
OlegON
 
так для этого порт iconv есть, если про винду речь...
13.05.2018 17:52
konst
 
Могу попробовать помочь.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.