Mysql+forth

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Mysql+forth

витя ерыгин
Требуется обработать запрос Mysql В строках встречаются русские буквы. Полученные результаты нужно обработать и вывести в файл.
Все русские буквы превращаются в "?". Часть результатов из=за этого некорректна. Что делать? Как это исправить со стороны форт-системы и (или) Сервера ?
Использую библиотеку  Якимова


--
Виктор Ерыгин
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Mysql+forth

Мохов Геннадий
Скорее всего в Mysql строки хранятся в Utf-8. В связи с этим, каждая русская буква кодируется 2 байтами. Соответственно то, что получено с
SQL надо обрабатывать как Utf-8 строки. Ищи какая библиотека форта этим занимается. Используй продвинутые редакторы (notepad++) для
просмотра ркзультатов.
 
14.03.2016, 18:48, "витя ерыгин" <[hidden email]>:
Требуется обработать запрос Mysql В строках встречаются русские буквы. Полученные результаты нужно обработать и вывести в файл.
Все русские буквы превращаются в "?". Часть результатов из=за этого некорректна. Что делать? Как это исправить со стороны форт-системы и (или) Сервера ?
Использую библиотеку  Якимова


--
Виктор Ерыгин ,

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140

,

_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Mysql+forth

Королев Виктор

Перекодировки  UTF8 видел

devel/~profit/lib/

Удобнее использовать от ~ac

Примерно так..

REQUIRE UNICODE>UTF8 /devel/~ac/lib/lin/iconv/iconv.f

: UNI_PRINT ( a u ) UTF8> OVER >R TYPE R> FREE DROP \ utf to uni

;

: UTF_PRINT ( a u ) >UTF8 OVER >R TYPE R> FREE DROP \ uni to utf
;


: UNI_MOVE ( a u a2 )
ROT ROT UTF8>
OVER >R ROT SWAP 2DUP + 0! CMOVE R> FREE DROP
;

: UTF_MOVE ( a u a2 )

ROT ROT >UTF8 OVER >R ROT SWAP 2DUP + 0! CMOVE R> FREE DROP
;

 
14.03.2016, 19:52, "Мохов Геннадий" <[hidden email]>:
Скорее всего в Mysql строки хранятся в Utf-8. В связи с этим, каждая русская буква кодируется 2 байтами. Соответственно то, что получено с
SQL надо обрабатывать как Utf-8 строки. Ищи какая библиотека форта этим занимается. Используй продвинутые редакторы (notepad++) для
просмотра ркзультатов.
 
14.03.2016, 18:48, "витя ерыгин" <[hidden email]>:
Требуется обработать запрос Mysql В строках встречаются русские буквы. Полученные результаты нужно обработать и вывести в файл.
Все русские буквы превращаются в "?". Часть результатов из=за этого некорректна. Что делать? Как это исправить со стороны форт-системы и (или) Сервера ?
Использую библиотеку  Якимова


--
Виктор Ерыгин ,

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140

,

_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

,

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140

,

_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Mysql+forth

Ruvim Pinka
In reply to this post by витя ерыгин

2016-03-14 18:47 GMT+03:00 витя ерыгин <[hidden email]>:
Требуется обработать запрос Mysql В строках встречаются русские буквы. Полученные результаты нужно обработать и вывести в файл.
Все русские буквы превращаются в "?". Часть результатов из=за этого некорректна. Что делать? Как это исправить со стороны форт-системы и (или) Сервера ?
Использую библиотеку  Якимова

Connection charset должен содержать кириллицу. Например, быть UTF-8

Устанавливается через MYSQL_SET_CHARSET_NAME и функцию mysql_options (перед соединением) или SQL запрос SET NAMES 'charset_name' (см. документацию)
Значение по умолчанию прописывается в файле конфигурации (типа my.ini).

Для корректного преобразования UTF-8 текста (например, конкатенация кусков) в Форте, текстовые литералы должны быть также записаны в UTF-8 (т.е., например, файл исходого текста сохранять в utf8). Тогда ничего перекодировать не нужно, и в выходной файл будет все записано как есть в UTF-8.

Если же текст изменять не нужно, то вообще никаких особенностей.

--
Ruvim


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Mysql+forth

витя ерыгин
Спасибо за помощь. Я на работе уже докопался. Вроде получилось.
Строки из Mysql запросом преобразовал в Utf8. А дальше использую преобразователь строк /devel/~ac/lib/lin/iconv/iconv.f
Вроде обрабатывается. Завтра на реальной задаче опробую

Понедельник, 14 марта 2016, 21:25 +04:00 от Ruvim Pinka <[hidden email]>:


2016-03-14 18:47 GMT+03:00 витя ерыгин <vitai96@...>:
Требуется обработать запрос Mysql В строках встречаются русские буквы. Полученные результаты нужно обработать и вывести в файл.
Все русские буквы превращаются в "?". Часть результатов из=за этого некорректна. Что делать? Как это исправить со стороны форт-системы и (или) Сервера ?
Использую библиотеку  Якимова

Connection charset должен содержать кириллицу. Например, быть UTF-8

Устанавливается через MYSQL_SET_CHARSET_NAME и функцию mysql_options (перед соединением) или SQL запрос SET NAMES 'charset_name' (см. документацию)
Значение по умолчанию прописывается в файле конфигурации (типа my.ini).

Для корректного преобразования UTF-8 текста (например, конкатенация кусков) в Форте, текстовые литералы должны быть также записаны в UTF-8 (т.е., например, файл исходого текста сохранять в utf8). Тогда ничего перекодировать не нужно, и в выходной файл будет все записано как есть в UTF-8.

Если же текст изменять не нужно, то вообще никаких особенностей.

--
Ruvim



------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Mysql+forth

Королев Виктор
In reply to this post by витя ерыгин
Все русские буквы превращаются в "?".
такая я же проблема встречается иногда при работе с буфером обмена, если раскладка клавиатуры установлена не "Русская"
 
14.03.2016, 18:48, "витя ерыгин" <[hidden email]>:
Требуется обработать запрос Mysql В строках встречаются русские буквы. Полученные результаты нужно обработать и вывести в файл.
Все русские буквы превращаются в "?". Часть результатов из=за этого некорректна. Что делать? Как это исправить со стороны форт-системы и (или) Сервера ?
Использую библиотеку  Якимова


--
Виктор Ерыгин ,

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140

,

_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Mysql+forth

Ruvim Pinka
In reply to this post by витя ерыгин
2016-03-15 18:40 GMT+03:00 витя ерыгин <[hidden email]>:
Спасибо за помощь. Я на работе уже докопался. Вроде получилось.
Строки из Mysql запросом преобразовал в Utf8. А дальше использую преобразователь строк /devel/~ac/lib/lin/iconv/iconv.f
Вроде обрабатывается. Завтра на реальной задаче опробую

А зачем строки самому преобразовывать из utf8?
Если есть противопоказания к юникоду, то проще сразу через SET NAMES поставить другую нужную кодировку.
Но, лучше все-таки научиться работать с юникодом (UTF-8 как частный случай).

--
Ruvim


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Mysql+forth

витя ерыгин
Я на работе перебрал из Таблицы Mysql все варианты. Utf-8 на печать выводил нормально, ежели не было русских букв. Использовал и cp1251 - на выходе в файле белиберда. А ежели запросом Utf-8, а потом исп слово Utf8> , то на печать нормальный вывод. Может и ошибся где, проверю


Вторник, 15 марта 2016, 21:27 +04:00 от Ruvim Pinka <[hidden email]>:

2016-03-15 18:40 GMT+03:00 витя ерыгин <vitai96@...>:
Спасибо за помощь. Я на работе уже докопался. Вроде получилось.
Строки из Mysql запросом преобразовал в Utf8. А дальше использую преобразователь строк /devel/~ac/lib/lin/iconv/iconv.f
Вроде обрабатывается. Завтра на реальной задаче опробую

А зачем строки самому преобразовывать из utf8?
Если есть противопоказания к юникоду, то проще сразу через SET NAMES поставить другую нужную кодировку.
Но, лучше все-таки научиться работать с юникодом (UTF-8 как частный случай).

--
Ruvim



------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Mysql+forth

Ruvim Pinka
2016-03-16 19:36 GMT+03:00 витя ерыгин <[hidden email]>:
Я на работе перебрал из Таблицы Mysql все варианты. Utf-8 на печать выводил нормально, ежели не было русских букв.

На печать это в консоль или в файл?

Консоль по умолчанию работает в кодировке cp866 (См. команду chcp для вывода текущей или изменении).
Поэтому, вестимо будет ненормально при конфликте кодировок.

Использовал и cp1251 - на выходе в файле белиберда.
Это странно.
 
А ежели запросом Utf-8, а потом исп слово Utf8> , то на печать нормальный вывод. Может и ошибся где, проверю



--
Ruvim


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev