On-line: Andrey, гостей 1. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 10
Зарегистрирован: 14.01.09
ссылка на сообщение  Отправлено: 06.11.10 12:10. Заголовок: GET на UTF-8


Помогите разобраться, как сделать ввод русского текста через GET в LINUX консоли при локали UTF-8 ?
и как его потом преобразовать в 866 кодировку?
вывод строк не представляет проблемы, но ввод!!! это что-то

-------------------------------------------------------------------------
http://dimao.blogspot.com/<\/u><\/a> - про Харбор и про жисть.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 10 [только новые]


постоянный участник


Пост N: 992
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 07.11.10 13:37. Заголовок: Кроме уже освоенной ..


Кроме уже освоенной вами hb_cdpSelect,
Harbour предлагает такие функции hb_setDispCP(), hb_setKeyCP(), hb_setTermCP().

Так, что есть выбор - перевести локаль в KOIR-8r и при помощи указанных функций добиться желаемого результата
или разблокировать экспериментальную поддержку UTF8 в исходниках, перекомпилировать Harbour и дальше опять с помощью setDispCP(), hb_setKeyCP() получить желаемое.

Все подробности ищите в ChangeLog
P.S. Я не линуксоид, больше чем советом, не совсем иногда уместным , помочь не смогу.

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 12
Зарегистрирован: 14.01.09
ссылка на сообщение  Отправлено: 07.11.10 14:07. Заголовок: Вот спасибо! попробу..


Вот спасибо! попробую. Но, вообще-то, я уже собрался поставить винду на виртуалке. Всеравно мои изыскания направлены на помощь знакомому, который сидит на винде. Просто, хотелось замутить что-то кроссплатформенное. Чтобы одинаково работало при сборке на винде и линухе.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 993
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 07.11.10 22:43. Заголовок: dimao пишет: Просто..


dimao пишет:

 цитата:
Просто, хотелось замутить что-то кроссплатформенное. Чтобы одинаково работало при сборке на винде и линухе.


Harbour изначально кросс-платформенный проект. Так что - все в ваших руках. Надеюсь почитать о результатах в вашем блоге.

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 13
Зарегистрирован: 14.01.09
ссылка на сообщение  Отправлено: 09.11.10 16:39. Заголовок: в блоге выложил новы..


в блоге выложил новый примерчик.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 14
Зарегистрирован: 14.01.09
ссылка на сообщение  Отправлено: 10.11.10 13:17. Заголовок: теперь интересует во..


теперь интересует вопрос индексирования БД. как , при работе , например, в 1251 обеспечить правильный порядок индексирования?
ну и вопрос о том, если в БД иапользубтся поля в разной кодировке, как обеспечить правильное индексирование по полям. можно при создании индекса задать кодировку текстовых строк? или эта установка глобальна на всю программу?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1688
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 10.11.10 16:03. Заголовок: dimao пишет: теперь..


dimao пишет:

 цитата:
теперь интересует вопрос индексирования БД. как , при работе , например, в 1251 обеспечить правильный порядок индексирования?
ну и вопрос о том, если в БД иапользубтся поля в разной кодировке, как обеспечить правильное индексирование по полям. можно при создании индекса задать кодировку текстовых строк? или эта установка глобальна на всю программу?



Харбор поддерживает и кодовые страницы при индексации, и автоматическую трансляцию между кодовыми страницами. Эти средства присущи ему от рождения

вот эти операторы:

прилинковать нужные кодовые страницы:

REQUEST HB_CODEPAGE_RU866
REQUEST HB_CODEPAGE_RU1251
REQUEST HB_CODEPAGE_RUKOI8

указать кодовую страницу программы:

hb_SetCodepage( "RU866" )

или

hb_SetCodepage( "RUKOI8" )

в этом году функцию hb_SetCodepage переименовали в HB_CDPSELECT()

и указать кодовую страницу при открытии таблицы:

use test codepage "RU1251" new

при этом индексация таблицы будет выполняться в cp1251, а при чтении/записи данных из нее будет делаться автоматическая трансляция в/из cp866/koi8-r.


Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 15
Зарегистрирован: 14.01.09
ссылка на сообщение  Отправлено: 11.11.10 09:59. Заголовок: принцип более-менее ..


принцип более-менее ясен. есть несколько слоев: слой хранения БД, слой ввода-вывода данных в-из БД, слой ввода-вывода на экран. для каждого свой набор функций перекодировки.

хранение данных в ДБ: задание кодовой таблици при открытии
ввод-вывод в -из ДБ:hb_SetCodepage( ХХХ )
ввод-вывод на экран:hb_setTermCP(ХХХ)

я правильно понял принцип? если везде одинаково - то задать один раз на всю программу

hb_SetCodepage( "RU1251" )
hb_setTermCP("RU1251")

и забыть. Независимо от ОС, на которой собрано, всегда будет одинаково работать.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1689
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 11.11.10 11:01. Заголовок: hb_SetCodepage( "..


hb_SetCodepage( "RU1251" ) задает кодировку строковых переменных в программе. Это существенно, к примеру, для функций upper/lower
hb_setTermCP("RU1251") задает кодировку терминала, и терминал gtcrs выполняет трансляцию при вводе/выводе

Эти установки достаточно указать при старте программы.

Если при открытии таблиц БД кодировка не указана, то используется установленная функцией hb_SetCodepage. Если кодировка таблицы отличается, ее надо указать в команде USE
Эти установки платформеннонезависимые. Но надо еще учитывать, какой терминал харбора используется, и, возможно, устанавливать дополнительные настройки. Это, к примеру, касается терминала gtwvt для Windows

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 17
Зарегистрирован: 14.01.09
ссылка на сообщение  Отправлено: 11.11.10 13:52. Заголовок: кстати о терминалах...


кстати о терминалах. читал, что их много. Но какой лучше и чем? где найти сравнение и рекоммендации по выбору?


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 7
Зарегистрирован: 02.08.10
ссылка на сообщение  Отправлено: 11.11.10 14:44. Заголовок: Здесь немного ..

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 228
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет