изменение кодировки cp866 -> cp1251

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

изменение кодировки cp866 -> cp1251

Сообщение virus_hm » 30.09.2009 10:51:10

Помогите разобратся. Есть файл в кодировке 866 нужно его прочитать и записать в базу firebird но уже в кодировке 1251 или uft8.
Пробывал через synachar работать, какая то фигня получается в базу заполняются одни знаки подчеркивания.
Через iconvenc не смог разобратся с параметрами.
Помогите решить проблему.
virus_hm
новенький
 
Сообщения: 22
Зарегистрирован: 19.09.2009 23:52:40

Re: изменение кодировки cp866 -> cp1251

Сообщение VirtUX » 30.09.2009 11:15:30

Прилагаю модуль coder.pas. В нем я реализовал перекодировку UTF8, CP-1251, OEM866. Сам пользуюсь без проблем. Найдешь, вдруг, ошибку - отпишись.
Вложения
coder.pas.tar.gz
coder.pas
(3.7 КБ) Скачиваний: 939
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: изменение кодировки cp866 -> cp1251

Сообщение virus_hm » 30.09.2009 11:36:54

большое спасиба. dos to win работает отлично.
virus_hm
новенький
 
Сообщения: 22
Зарегистрирован: 19.09.2009 23:52:40

Re: изменение кодировки cp866 -> cp1251

Сообщение Dreamtime » 19.03.2014 18:56:00

Пробовал преобразовать все ок , но когда в мемо заганяю через Memo1.Lines.Add кодировка все равно OEM866 как быть?
Dreamtime
незнакомец
 
Сообщения: 2
Зарегистрирован: 05.08.2013 16:50:09

Re: изменение кодировки cp866 -> cp1251

Сообщение Дож » 19.03.2014 22:21:27

Код: Выделить всё
cat input | iconv -f cp866 -t cp1251 > output
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: изменение кодировки cp866 -> cp1251

Сообщение *Rik* » 19.03.2014 22:40:23

virus_hm писал(а):Помогите разобратся. Есть файл в кодировке 866 нужно его прочитать и записать в базу firebird но уже в кодировке 1251 или uft8.
Пробывал через synachar работать, какая то фигня получается в базу заполняются одни знаки подчеркивания.
Через iconvenc не смог разобратся с параметрами.
Помогите решить проблему.

В Lazarus есть готовый модуль lconvencodinc, его подключаете в раздел uses.
В модуле есть функция cp866ToUTF8, перед записью в базу строки конвертируете в UTF8. В настройках компонента Database для доступа к данным FireBird, ставите кодировку на клиенте UTF8, не зависимо от того, какая кодировка в базе.
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 451
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru