16.08.2006, 18:45 | #1 |
Участник
|
Экспорт в dbf данных на украинском языке
При экспорте данных из Axapta (на Украинском языке) в dbf фаил, украинская "i" заменяется на знак "?".
При экспорте используется класс: CCADOCommand. Что можете посоветовать? |
|
16.08.2006, 23:03 | #2 |
Участник
|
Подозреваю, что что-то с кодировкой.
Не уверен, что в DBF вообще можно указывать кодировку. Может переместить тему в Украинский раздел? http://axforum.info/forums/forumdisplay.php?f=73 |
|
17.08.2006, 09:20 | #3 |
злыдень
|
Что то уже слышал про эту букву..
м.б. попробовать экспортить в Unicode??
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
17.08.2006, 10:40 | #4 |
Участник
|
По моему с Дэлфями шла утилита, которая могла менять кодировку внутри ДБФ!
|
|
17.08.2006, 11:24 | #5 |
Участник
|
Цитата:
Сообщение от mazzy
Может переместить тему в Украинский раздел?
http://axforum.info/forums/forumdisplay.php?f=73 |
|
17.08.2006, 11:40 | #6 |
Участник
|
Вот, попробуйте юзать вот этот проектик.
Должно помочь, хотя - это больше для импорта из того же DBF (В нем классик для преобразования между тремя кодировками: CP1251, CP866, RUSCII) Еще советовали когда-то поиграться с различными драйверами в ODBC - на некоторых из них (то ли DBase, то ли FoxPro) работает. Посмотрите также функцию WinApi::CharToOemBuff Последний раз редактировалось kashperuk; 17.08.2006 в 11:51. |
|
17.08.2006, 12:04 | #7 |
Участник
|
Попробуйте добавить в строку подключения
X++: Locale Identifier=1058
__________________
Axapta v.3.0 sp5 kr2 |
|
17.08.2006, 12:25 | #8 |
Участник
|
Цитата:
Сообщение от AndyD
Попробуйте добавить в строку подключения
X++: Locale Identifier=1058 Код: m_AdoConnection.open("Provider=Microsoft.Jet.OLEDB.4.0; Extended Properties=dBase IV; Locale Identifier=1058; Data Source=" + m_FilePath + "; "); |
|
17.08.2006, 13:47 | #9 |
Участник
|
А вы вообще в какой кодировке пишите?
Сейчас попробовал в WIN1251 - все нормально записывается X++: static void AdoUkrainian(Args _args) { CCAdoConnection conn; CCAdoCommand com; #CCADO ; conn = new CCAdoConnection(); conn.connectionString("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=D:\\Temp\\DBF\\;" + "Extended Properties=DBASE IV"); conn.open(); com = new CCAdoCommand(); com.activeConnection(conn); com.commandType(#adCmdText); com.commandText("update tbl1 set field1 = '" + num2char(178) + num2char(179) + num2char(191) + "' where id = '1'"); com.execute(); }
__________________
Axapta v.3.0 sp5 kr2 |
|
17.08.2006, 14:20 | #10 |
Участник
|
О! Вспомнил
По умолчанию для Jet-драйвера xBase используется кодировка CP866. В ней нет украинских символов "Іі". По-этому при перекодировке из WIN1251 происходит замена этих символов на вопросы Можно поменять кодировку на WIN1251, тогда этой проблемы не будет. Для этого надо изменить значение ключа реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage с OEM на ANSI
__________________
Axapta v.3.0 sp5 kr2 |
|
17.08.2006, 15:28 | #11 |
Участник
|
Цитата:
Сообщение от AndyD
О! Вспомнил
По умолчанию для Jet-драйвера xBase используется кодировка CP866. В ней нет украинских символов "Іі". По-этому при перекодировке из WIN1251 происходит замена этих символов на вопросы Можно поменять кодировку на WIN1251, тогда этой проблемы не будет. Для этого надо изменить значение ключа реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage с OEM на ANSI А можно решить эту проблему использованием другого драйвера? Не можете подсказать какого? |
|
17.08.2006, 15:51 | #12 |
Участник
|
Попробуйте драйвер для VisualFoxPro.
Microsoft OLE DB Provider for Visual FoxPro 9.0
__________________
Axapta v.3.0 sp5 kr2 |
|
17.08.2006, 17:21 | #13 |
Участник
|
Цитата:
Сообщение от AndyD
Попробуйте драйвер для VisualFoxPro.
Microsoft OLE DB Provider for Visual FoxPro 9.0 |
|
17.08.2006, 17:28 | #14 |
Участник
|
X++: Provider=VFPOLEDB.1;Data Source=D:\Temp\DBF;Collating Sequence=MACHINE
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: SerAl (1). |
17.08.2006, 17:49 | #15 |
Участник
|
Спасибо, буду пробывать.
|
|
15.09.2006, 16:48 | #16 |
Участник
|
глюки с кодировкой :(
Цитата:
Сообщение от AndyD
О! Вспомнил
По умолчанию для Jet-драйвера xBase используется кодировка CP866. В ней нет украинских символов "Іі". По-этому при перекодировке из WIN1251 происходит замена этих символов на вопросы Можно поменять кодировку на WIN1251, тогда этой проблемы не будет. Для этого надо изменить значение ключа реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage с OEM на ANSI Надо кровь с носа разобраться с настройками Jet. Помогите пожалуйста кто чем может - горю! |
|
25.09.2006, 15:42 | #17 |
Участник
|
Вышли плиз маленький кусочек данных (табличку dbf) поковырятся ...
|
|
03.10.2006, 10:46 | #18 |
Участник
|
Попробуй поиграться с 29байтом dbf файла, он отвечает за кодировку.
Попробуй поставить значение 0x57(87) (кодовая страница 1251 Windows ANSI) Ссылка на структуру dbf : http://www.delphikingdom.com/asp/vie...624&mode=print |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Экспорт из журнала базы данных | 3 | |||
Импорт данных из DBF в Аксапту | 1 | |||
Тормозит Экспорт/Импорт данных | 28 | |||
Выгрузка числовых данных в dbf файл | 2 | |||
Экспорт в *.dbf | 2 |
|