Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
Постала предо мной задача. Заливать в PG из DBF файла Текст в DBF файле в кодировке -> ASCII (DOS charset) 1. проставил библиотеку contrib 2. соорудил вот такое вот dbf2pg -d mybase -t mytable -F SQL_ASCII -T WIN1251 /tmp/1.dbf Все как-бы отличо заливает в базу, НО!!!!!! в строковых полях в таблице PG после заливки вот такие вот крокозябры ->>> ‘‹ћ‘Ђђ I I Здается мне проблемс в ключах -F SQL_ASCII -T WIN1251 ??? Раранее спасибо!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 19:09 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
Если мне не изменяет память, то вместо SQL_ASCII вам надо использовать ALT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2006, 08:24 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
тоже не работает ... Код: plaintext да и вообще ... любая конфигурация в переметрах -F -T абсолютно ничего не меняет. Начинаю понимать что проблема, возможно, не в этом ... Неужели с этим никто не сталкивался ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2006, 12:28 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
Сталкивался но последний раз это было лет пять назад. 1) В заголовке dbf-ов сляпанных досовой лисичкой уже было поле charset. Проверить это можно скажем дельфийским DbD Поправить им же. Подобные грабли были и в древними db-шниках. 2) Так как CONTRIB/DBASE юзает iconv следует сделать в шелле iconv -l | grep 866 В результате должна быть строчка вроде "866 CP866 IBM866 CSIBM866"! ;) 3) Сейчас вспомнилось что год назад я опять вынужден был выдирать данные из dbf-ников и когда contrib/dbf сначала не собрался (как обычно не нашел либ) я просто установил порт /usr/ports/databses/dbf У него есть параметр --noconv. Потом самописным фильтром выкусываем ненужное (CREATE TABLE и проч) и отдаем iconv а затем psql. Если в твоем случае речь идет про M$Win - IMHO скорейший выход delphi+ZDO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2006, 17:56 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
Спасибо Shweik 2-й раз приходишь на выручку. Дело в том что я как раз в процессе отрыва от WIN32 + Delphi +ZEOS... там бы этот проблемс мигом бы решил. У меня dbf приходят на FreeBSD ->Postfix, дальше скриптом выискиваются и конвертятся в PG. очень не хочу чтоб в этом параде примало участие еще одно звено, т.к. процес должен быть максимально автоматичным и участие еще одного звена понизит надежность. Вот ZemA посоветовал использовать кодировку ALT, спасибу ему за это, все получается если база изначально создана с кодировний ALT ... у меня WIN. Менять нельзя. Теперь вот пытаюсь разобраться в своих советах, но так как я новенький не только в GP но еще и в BSD :-) это займет времице немалое. Не хочется просто тратить время зря, на сооружение волосипеда, если, он, возможно уже предусмотрен в тех вещах, которые я уже использую. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 00:20 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
Вот пробывал еще так Код: plaintext вроде как конвертит но опять НО !!! имена полей коверкает нешуточно, dbf2pg "хавать" отказывается ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 02:48 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
попробовать создать базу в той же кодировке, что и dbf, залить, сделать дамп, создать базу в 1251 залить дамп, хз прокатит или нет, не пробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 09:45 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
Превращаешь dbf в sql не меняя кодировки, а затем перекодируешь это с помощью iconv (просто dbf лучше не трогать). Если конвертить так в UTF-8 то обычно проблемм нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 15:38 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
авторПревращаешь dbf в sql не меняя кодировки, а затем перекодируешь это с помощью iconv (просто dbf лучше не трогать). Тогда лучше в TXT потом iconv потом COPY а чем лучше сделать DBF to TXT ? но вот этот вопрос уже не по теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 16:30 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
Степан H. а чем лучше сделать DBF to TXT ? но вот этот вопрос уже не по теме. обычно я делал это excel'ем, благо он всегда под рукой, как правило ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 16:36 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
Ээээ-х!! Автоматизация ПОЛНАЯ нужна. И надежная придачу. Если найду ответ. Обязательно выложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 18:48 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
perl DBI DBD-XBase DBD-Pg попробовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2006, 10:13 |
|
||
|
dbf2pg или война с кодировкой ASCII (DOS charset)
|
|||
|---|---|---|---|
|
#18+
Степан H. авторПревращаешь dbf в sql не меняя кодировки, а затем перекодируешь это с помощью iconv (просто dbf лучше не трогать). Тогда лучше в TXT потом iconv потом COPY а чем лучше сделать DBF to TXT ? но вот этот вопрос уже не по теме. ................... Вот привожу пример одного из мини-велосипедов Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Я выкусил с того места где почта уже получена вложения вырезаны мы их распаковываем и пихваем в stdin /usr/ports/databases/dbf фильтруем ненужное и сконвертировали в нужную кодировку инсертим в базу. 2landy и всем знающим perl : Скрипт однозначно коряв (писалось в течении ~10 минут ) работает больше года и будет работать пока банк не почешет репу и не предложит чего-то другое, или я выкрою полчаса чтобы вдумчиво перекроить все на чистом пЁрле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2006, 19:06 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34185192&tid=2005889]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 370ms |

| 0 / 0 |
