Автор | Сообщение |
|
| постоянный участник
|
Пост N: 1311
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.05.10 13:49. Заголовок: Как опледелить кодировку файла *.txt
Всем привет ! Вопрос к украинским коллегам ! Имеются текстовые файлы приходящие из вашего банка. Как определить в какой они кодировке ? У себя в программе (хХарбор) Использую кодировку: REQUEST HB_CODEPAGE_RU866 hb_SetCodepage( "RU866" ) REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") при использовании у себя функции HB_OEMTOANSI() файл нормально прочитываю у себя в программе. Правда в адресах проскакивают "кракозябы".... А FAR показывает, что файл в DOS кодировке. Какая у вас на Украине используется кодировка ? Что нужно добавить к себе в программу ?
|
|
|
Ответов - 2
[только новые]
|
|
|
| Администратор
|
Пост N: 1452
Зарегистрирован: 23.05.05
|
|
Отправлено: 26.05.10 14:24. Заголовок: Если это "DOS..
Если это "DOS"-кодировка, то на Украине она используется в 2-х вариантах: 1) Стандартная кодировка MS 866, в которой для украинских символов используются коды 242-245 Эти символы есть и в кодовой странице харбора RU866, и в UA866, они различаются порядком сортировки 2) Кодовая страница, принятая в качестве украинского стандарта в 1992-м году, украинским символам в ней выделены коды с 242 по 249, и их позиции отличны от позиций кодировки MS. В харборе ей соответствует кодировка UA1125 Скорее всего, в файле из банка используется кодировка 1125, а функция OEMTOANSI перекодирует строку по правилам 866 -> 1251 Поэтому перекодировать надо не средствами windows, а средствами харбора: REQUEST HB_CODEPAGE_UA1125 REQUEST HB_CODEPAGE_UA1251 cStrRes := HB_TRANSLATE(cStr, "UA1125", "UA1251")
|
|
|
|
| постоянный участник
|
Пост N: 1312
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.05.10 14:43. Заголовок: Спасибо БОЛЬШОЕ, Паш..
|
|
|
|