Форум » [x]Harbour » Перенос базы из RU866 в UTF8 ? » Ответить

Перенос базы из RU866 в UTF8 ?

Andrey: Всем привет. Собрался переносить базу из кодировки RU866 в UTF8. Мемо-поля не хочу использовать. Как быть с длинными текстовыми данными ? Допустим адрес в поле С-250, как делать для новой базы с UTF8 ? Заводить два поля для адреса ? А как тогда разбивать и переносить из RU866 в UTF8 ?

Ответов - 62, стр: 1 2 3 4 All

Новичок: у DBVIEW - проблема с длинными строками, и ограничение - не показывает всю строку(срезает)

Новичок: Короче проверил (1024) Запись и Считывание работает - 1024 символа При индексации NTX - идет ограничение на 256 символов DBVIEW - проблема с длинными строками и срезает текст

Новичок: 1.и кстати утилита DBU, поставьте "*.*" вместо "*.dbf" - обычно расширение DBF заменяю на другое, в зависимости от программы (так вижу какие БД к какой задаче относятся) 2.при установке Harbour и указания директории установки отличное от C:\MiniGUI, нельзя везде прописать выбранный директорий, а то приходится все время ручками корректировать, ну к примеру compile.bat, *.cfg, и т.д.


Andrey: Новичок пишет: 2.при установке Harbour и указания директории установки отличное от C:\MiniGUI, нельзя везде прописать выбранный директорий, а то приходится все время ручками корректировать, ну к примеру compile.bat, *.cfg, и т.д. Подправь пути в \MiniGUI\BATCH\Compile.Bat [pre2] rem Set default paths to BCC, Harbour, xHarbour, MiniGUI if defined MG_CMP if "%MG_CMP%"=="XHARBOUR" set MV_USEXHRB=Y if not defined MG_BCC set MG_BCC=c:\bcc55 if not defined MG_ROOT set MG_ROOT=c:\minigui if not defined MG_HRB set MG_HRB=%MG_ROOT%\harbour if not defined MG_LIB set MG_LIB=%MG_ROOT%\lib if not defined MG_XHRB set MG_XHRB=c:\xharbour[/pre2] Или заведи свои переменные в окружение [pre2]set MG_BCC = ??? set MG_ROOT = ???[/pre2]

Новичок: я так и делаю, все время подправляю, скачиваю новую версию и опять подправляю... ведь при установке все равно спрашивает директорий установки, пусть сразу либо установка подправит автоматически или автоматически задаст переменные, раз уже указано директорий установки... не обязательно конечно, вроде мелочь - но мелочь приятная :)

Andrey: Новичок пишет: я так и делаю, все время подправляю, скачиваю новую версию и опять подправляю... Сделай тогда так - [pre2]Или заведи свои переменные в окружение set MG_BCC = ??? set MG_ROOT = ???[/pre2]

rvu: Andrey пишет: Уж лучше с мемо тогда работать, там вообще ограничение в 2 Гбайта. А индексировать его как?

SergKis: rvu пишет А индексировать его как? Кроме составления выражения substr(<memo>,...) можно применить http://www.kresin.ru/hrbfaq_3.html#Doc13_14

Oskar_AAA: Добрый день, xHarbour 1.2.3 Intl. (SimpLex) (Build 20201212) - консоль программа в 866 и БД в 866 как сделать что бы в программе корректно отражалась UTF8 DbEdit.exe правильно отражает символьные поля (мы забираем данные в DBF формате, выгруженные MS SQL) и забираем к себе в БД REQUEST HB_CODEPAGE_RU866 HB_SetCodePage( "RU866" ) REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") Use PRIMER Alias TRANZAK Shared New Use Istochnik Alias IMPORT (это файл в UTF8 и в DbEdit правильно показывает) Exclusive New DbGoTop() Do While !Eof() Select TRANZAK Append Blank Repl Pole1 With IMPORT->Pole1 Select IMPORT DbSkip() EndDo в результате имеем в Pole1 кракозчяры исправление на REQUEST HB_CODEPAGE_UTF8EX REQUEST HB_CODEPAGE_RU866 REQUEST HB_CODEPAGE_RU1251 HB_CDPSelect( "UTF8" ) HB_CDPSelect("RU866") HB_SetCodePage("RU866") выдает ошибку при компиляции Error: Unresolved external '_HB_FUN_HB_CODEPAGE_TPL' referenced from Error: Unresolved external '_HB_FUN_HB_CODEPAGE_UTF8EX' referenced from # Include "Hbextcdp.Ch" это добавлено что сделано неправильно? открыть Use Istochnik Alias IMPORT Exclusive New 'UTF8EX' не получается (ошибка компиляции) А так хочу перевести DBF с 866 на UTF8...

SergKis: Oskar_AAA Use PRIMER Alias TRANZAK Shared New CODEPAGE "RU866" browse() Use Istochnik Alias IMPORT Exclusive New CODEPAGE "UTF8" browse()

Oskar_AAA: SergKis Спасибо.... Но что я не так делаю? DbEdit показывает UTF8 как в файле источнике так и в файле приемнике. Но при просмотре из программы поля с текстом выходят псевдографика # Include 'Achoice.Ch' # Include 'Inkey.Ch' # Include 'Directry.Ch' # Include 'Setcurs.Ch' # Include 'Dbstruct.Ch' # Include 'Command.Ch' # Include 'Dbedit.Ch' # Include 'Excel.Ch' # Include 'Hbgtinfo.Ch' # Include 'Hbrddsql.Ch' *# Include "Hbextcdp.Ch" REQUEST BMDBFCDX,DBFFPT RDDSetDefault('BMDBFCDX') // REQUEST HB_CODEPAGE_RU866 HB_SetCodePage("RU866") REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") Базы открываю так: Use (Plm_File) Alias &Use_Alias EXCLUS VIA 'DBFCDX' NEW CODEPAGE 'UTF8' как теперь сделать правильно вывод данных в программе? Программа в кодировке RU866

SergKis: Oskar_AAA В wvt почти ничего не делаю давно и исп. язык это LV866 (DOS). Строки такие имею (у вас вместо LV866 надо RU866) ANNOUNCE HB_GTSYS REQUEST DBFCDX, DBFFPT REQUEST HB_CODEPAGE_UTF8, HB_CODEPAGE_RU1251, HB_CODEPAGE_RU866, HB_CODEPAGE_LV866 REQUEST HB_GT_WVT, HB_GT_WVT_DEFAULT hb_gtInfo( HB_GTI_CODEPAGE, 866 ) hb_cdpSelect( "LV866" ) hb_gtInfo( HB_GTI_ICONRES, 1001) ... не исп. BMDBFCDX, только DBFCDX, DBFNTX (может rdd надо согласовать), в MiniGui unicode версии работает [pre2] SET CODEPAGE TO UNICODE RddSetDefault("DBFCDX") ... LOCAL cCdp := "RU866" LOCAL cFile := "_Ru866" LOCAL cAls := cCdp USE ( cFile ) ALIAS ( cAls ) CODEPAGE ( cCdp ) NEW ... LOCAL cCdp := "RU1251" LOCAL cFile := "_Ru1251" LOCAL cAls := cCdp USE ( cFile ) ALIAS ( cAls ) CODEPAGE ( cCdp ) NEW ... LOCAL cCdp := "UTF8" LOCAL cFile := "_Utf8" LOCAL cAls := cCdp USE ( cFile ) ALIAS ( cAls ) CODEPAGE ( cCdp ) NEW ... все таблицы показываются в нужной, указанной кодировке [/pre2]

Dima: Oskar_AAA пишет: Но при просмотре из программы поля с текстом выходят псевдографика Oskar_AAA пишет: xHarbour 1.2.3 Intl. Возможно дело в xHarbour...он же давно обновлялся и последняя версия аж 2013 года если не ошибаюсь Oskar_AAA пишет: DbEdit.exe правильно отражает символьные поля Он собран на Harbour

Oskar_AAA: Доброе утро, коллеги Значит переходить на Harbour и/или есть другое решение ?

Oskar_AAA: Скачал harbour 3.2 - так он 2011 года....

PSP: Oskar_AAA пишет: Скачал harbour 3.2 - так он 2011 года.... Скачивайте сырцы и собирайте самостоятельно или Nightly binary. Будет самый свежий.

Dima: Oskar_AAA пишет: Скачал harbour 3.2 - так он 2011 года.... http://github.com/harbour/core/archive/master.zip

Oskar_AAA: Скачал с Nightly binary.... проект собрался , то есть *.C и *.OBJ файлы а где файлы LIB в поставке ? Извините за глупые вопросы.... Качал xHarour - там был каталог LIB и сами файлы lib

Oskar_AAA: Собираю BAT файлом (для xHarbour): %HB_BIN_INSTALL%\HARBOUR MYPROG -n -q0 -gc -i%HB_INC_INSTALL% 2>MYPROG.ZHb %HB_BIN_INSTALL%\HARBOUR IMPR_HBK -n -q0 -gc -i%HB_INC_INSTALL% 2>IMPR_HBK.ZHb %HB_BIN_INSTALL%\HARBOUR B03_BLNS -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_BLNS.ZHb %HB_BIN_INSTALL%\HARBOUR B03_BALN -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_BALN.ZHb %HB_BIN_INSTALL%\HARBOUR B04_NORM -n -q0 -gc -i%HB_INC_INSTALL% 2>B04_NORM.ZHb %HB_BIN_INSTALL%\HARBOUR A01_FULL -n -q0 -gc -i%HB_INC_INSTALL% 2>A01_FULL.ZHb %HB_BIN_INSTALL%\HARBOUR B01_PLAN -n -q0 -gc -i%HB_INC_INSTALL% 2>B01_PLAN.ZHb %HB_BIN_INSTALL%\HARBOUR B02_AGKV -n -q0 -gc -i%HB_INC_INSTALL% 2>B02_AGKV.ZHb %HB_BIN_INSTALL%\HARBOUR B02_BANK -n -q0 -gc -i%HB_INC_INSTALL% 2>B02_BANK.ZHb %HB_BIN_INSTALL%\HARBOUR B02_MACR -n -q0 -gc -i%HB_INC_INSTALL% 2>B02_MACR.ZHb %HB_BIN_INSTALL%\HARBOUR B03_AGKV -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_AGKV.ZHb %HB_BIN_INSTALL%\HARBOUR B03_ANAL -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_ANAL.ZHb %HB_BIN_INSTALL%\HARBOUR B02_BANK -n -q0 -gc -i%HB_INC_INSTALL% 2>B02_BANK.ZHb %HB_BIN_INSTALL%\HARBOUR B03_CAPL -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_CAPL.ZHb %HB_BIN_INSTALL%\HARBOUR B03_DRMB -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_DRMB.ZHb %HB_BIN_INSTALL%\HARBOUR B03_KOEF -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_KOEF.ZHb %HB_BIN_INSTALL%\HARBOUR B03_KRDD -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_KRDD.ZHb %HB_BIN_INSTALL%\HARBOUR B03_PLAN -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_PLAN.ZHb %HB_BIN_INSTALL%\HARBOUR B03_VLBL -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_VLBL.ZHb %HB_BIN_INSTALL%\HARBOUR B03_PASS -n -q0 -gc -i%HB_INC_INSTALL% 2>B03_PASS.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_FORM -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_FORM.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_ACCL -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_ACCL.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_CHET -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_CHET.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_PRBO -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_PRBO.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_KOEF -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_KOEF.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_PASS -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_PASS.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_RORT -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_RORT.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_YDRM -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_YDRM.ZHb %HB_BIN_INSTALL%\HARBOUR NORMA_K1 -n -q0 -gc -i%HB_INC_INSTALL% 2>NORMA_K1.ZHb %HB_BIN_INSTALL%\HARBOUR NORMA_K3 -n -q0 -gc -i%HB_INC_INSTALL% 2>NORMA_K3.ZHb %HB_BIN_INSTALL%\HARBOUR NORMA_K4 -n -q0 -gc -i%HB_INC_INSTALL% 2>NORMA_K4.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_AKTV -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_AKTV.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_ACCL -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_ACCL.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_KLNT -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_KLNT.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_CHET -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_CHET.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_MEXL -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_MEXL.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_02 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_02.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_03 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_03.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_04 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_04.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_05 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_05.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_06 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_06.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_07 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_07.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_08 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_08.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_09 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_09.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_10 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_10.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_11 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_11.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_12 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_12.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_13 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_13.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_14 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_14.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_15 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_15.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_16 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_16.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_17 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_17.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_18 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_18.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_19 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_19.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_20 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_20.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_21 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_21.ZHb %HB_BIN_INSTALL%\HARBOUR SPRAV_22 -n -q0 -gc -i%HB_INC_INSTALL% 2>SPRAV_22.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_VALT -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_VALT.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_FILB -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_FILB.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM0 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM0.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM1 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM1.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM2 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM2.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM3 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM3.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM4 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM4.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM5 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM5.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM6 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM6.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM7 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM7.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM8 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM8.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_COM9 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_COM9.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_SMS0 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_SMS0.ZHb %HB_BIN_INSTALL%\HARBOUR FIL_BAK0 -n -q0 -gc -i%HB_INC_INSTALL% 2>FIL_BAK0.ZHb %HB_BIN_INSTALL%\HARBOUR FUN_YDRM -n -q0 -gc -i%HB_INC_INSTALL% 2>FUN_YDRM.ZHb %HB_BCC_INSTALL%\BCC32 -O2 -d -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% MYPROG.C IMPR_HBK.c A01_FULL.c B01_PLAN.c B02_AGKV.c B02_BANK.c B02_MACR.c B03_AGKV.c B03_ANAL.c B03_BALN.c B03_BLNS.c B03_CAPL.c B03_DRMB.c B03_KOEF.c B03_KRDD.c B03_PASS.c B03_PLAN.c B03_VLBL.c B04_NORM.c FIL_COM0.c FIL_COM1.c FIL_COM2.c FIL_COM3.c FIL_COM4.c FIL_COM5.c FIL_COM6.c FIL_COM7.c FIL_COM8.c FIL_COM9.c FIL_SMS0.c FUN_YDRM.c FUN_MEXL.c FUN_FORM.c FUN_ACCL.c FUN_AKTV.c FUN_CHET.c FUN_FILB.c FUN_KLNT.c FUN_KOEF.c FUN_PRBO.c FUN_PASS.c FUN_VALT.c FUN_RORT.c NORMA_K1.c NORMA_K3.c NORMA_K4.c SPRAV_02.c SPRAV_03.c SPRAV_04.c SPRAV_05.c SPRAV_06.c SPRAV_07.c SPRAV_08.c SPRAV_09.c SPRAV_10.c SPRAV_11.c SPRAV_12.c SPRAV_13.c SPRAV_14.c SPRAV_15.c SPRAV_16.c SPRAV_17.c SPRAV_18.c SPRAV_19.c SPRAV_20.c SPRAV_21.c SPRAV_22.c FIL_BAK0.c FUNC_000.c FUNC_001.c FUNC_002.c lang.lib vm.Lib rtl.Lib rdd.Lib rddsql.lib macro.Lib pp.Lib BmDbfCdx.Lib DbfCdx.Lib DbfFpt.Lib DbfNtx.Lib Common.Lib Gtwin.Lib Codepage.Lib Ct.Lib Tip.Lib Pcrepos.Lib Hsx.Lib Hbsix.Lib Zlib.Lib Debug.Lib Import32.Lib Cw32.Lib>ERROR.ZEr

PSP: Oskar_AAA пишет: Собираю BAT файлом (для xHarbour) Да забудьте вы про ваш xHarbour! Найтли бинари уже собран. Его не нужно собирать. Библиотеки - lib\win\mingw. Но это всё под компилятор mingw А лучше - соберите из исходников. Ссылку Дима дал.



полная версия страницы