AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: За рубежом > DAX в Украине
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.08.2006, 18:45   #1  
SerAl is offline
SerAl
Участник
 
163 / 44 (2) +++
Регистрация: 24.06.2004
Адрес: г. Москва
Экспорт в dbf данных на украинском языке
При экспорте данных из Axapta (на Украинском языке) в dbf фаил, украинская "i" заменяется на знак "?".

При экспорте используется класс: CCADOCommand.

Что можете посоветовать?
Старый 16.08.2006, 23:03   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,391 / 4251 (200) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Подозреваю, что что-то с кодировкой.
Не уверен, что в DBF вообще можно указывать кодировку.

Может переместить тему в Украинский раздел?
http://axforum.info/forums/forumdisplay.php?f=73
__________________
Полезное на axForum, GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 17.08.2006, 09:20   #3  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Что то уже слышал про эту букву..
м.б. попробовать экспортить в Unicode??
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/
Старый 17.08.2006, 10:40   #4  
3oppo is offline
3oppo
Участник
Аватар для 3oppo
 
222 / 32 (2) +++
Регистрация: 30.06.2005
По моему с Дэлфями шла утилита, которая могла менять кодировку внутри ДБФ!
Старый 17.08.2006, 11:24   #5  
SerAl is offline
SerAl
Участник
 
163 / 44 (2) +++
Регистрация: 24.06.2004
Адрес: г. Москва
Цитата:
Сообщение от mazzy
Может переместить тему в Украинский раздел?
http://axforum.info/forums/forumdisplay.php?f=73
Не возражаю.
Старый 17.08.2006, 11:40   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,360 / 2080 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Копенгаген, Дания
Вот, попробуйте юзать вот этот проектик.
Должно помочь, хотя - это больше для импорта из того же DBF

(В нем классик для преобразования между тремя кодировками: CP1251, CP866, RUSCII)

Еще советовали когда-то поиграться с различными драйверами в ODBC - на некоторых из них (то ли DBase, то ли FoxPro) работает.
Посмотрите также функцию WinApi::CharToOemBuff
Вложения
Тип файла: xpo CodePage_UAI.xpo (3.8 Кб, 331 просмотров)

Последний раз редактировалось kashperuk; 17.08.2006 в 11:51.
Старый 17.08.2006, 12:04   #7  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2457 (87) +++++++++
Регистрация: 20.08.2005
Попробуйте добавить в строку подключения
X++:
Locale Identifier=1058
__________________
Axapta v.3.0 sp5 kr2
Старый 17.08.2006, 12:25   #8  
SerAl is offline
SerAl
Участник
 
163 / 44 (2) +++
Регистрация: 24.06.2004
Адрес: г. Москва
Цитата:
Сообщение от 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  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2457 (87) +++++++++
Регистрация: 20.08.2005
А вы вообще в какой кодировке пишите?
Сейчас попробовал в 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  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2457 (87) +++++++++
Регистрация: 20.08.2005
О! Вспомнил

По умолчанию для 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  
SerAl is offline
SerAl
Участник
 
163 / 44 (2) +++
Регистрация: 24.06.2004
Адрес: г. Москва
Цитата:
Сообщение от 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  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2457 (87) +++++++++
Регистрация: 20.08.2005
Попробуйте драйвер для VisualFoxPro.
Microsoft OLE DB Provider for Visual FoxPro 9.0
__________________
Axapta v.3.0 sp5 kr2
Старый 17.08.2006, 17:21   #13  
SerAl is offline
SerAl
Участник
 
163 / 44 (2) +++
Регистрация: 24.06.2004
Адрес: г. Москва
Цитата:
Сообщение от AndyD
Попробуйте драйвер для VisualFoxPro.
Microsoft OLE DB Provider for Visual FoxPro 9.0
Скачал. А вы не подскажите как в этом случаи должна выглядить строка подключения connectionString, чтобы начал использоваться установленный драйвер?
Старый 17.08.2006, 17:28   #14  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2457 (87) +++++++++
Регистрация: 20.08.2005
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  
SerAl is offline
SerAl
Участник
 
163 / 44 (2) +++
Регистрация: 24.06.2004
Адрес: г. Москва
Спасибо, буду пробывать.
Старый 15.09.2006, 16:48   #16  
kulibin is offline
kulibin
Участник
 
1 / 10 (1) +
Регистрация: 15.09.2006
глюки с кодировкой :(
Цитата:
Сообщение от AndyD Посмотреть сообщение
О! Вспомнил

По умолчанию для Jet-драйвера xBase используется кодировка CP866. В ней нет украинских символов "Іі". По-этому при перекодировке из WIN1251 происходит замена этих символов на вопросы

Можно поменять кодировку на WIN1251, тогда этой проблемы не будет.
Для этого надо изменить значение ключа реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage
с OEM на ANSI
Всё так и сделал -и безрезультатно . А другие дрова мне не подходят - они не поддерживают select into и insert from select
Надо кровь с носа разобраться с настройками Jet. Помогите пожалуйста кто чем может - горю!
Старый 25.09.2006, 15:42   #17  
f18 is offline
f18
Участник
Аватар для f18
Дети Юза
 
188 / 101 (4) +++++
Регистрация: 09.08.2005
Вышли плиз маленький кусочек данных (табличку dbf) поковырятся ...
Старый 03.10.2006, 10:46   #18  
JohnDo is offline
JohnDo
Участник
 
10 / 14 (1) ++
Регистрация: 14.12.2004
Адрес: Киев
Попробуй поиграться с 29байтом dbf файла, он отвечает за кодировку.
Попробуй поставить значение 0x57(87) (кодовая страница 1251 Windows ANSI)

Ссылка на структуру dbf :
http://www.delphikingdom.com/asp/vie...624&mode=print
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Экспорт из журнала базы данных Sequel DAX: Функционал 3 14.08.2007 07:26
Импорт данных из DBF в Аксапту Protey DAX: Программирование 1 23.05.2007 14:52
Тормозит Экспорт/Импорт данных st_msav DAX: Администрирование 28 01.08.2006 15:52
Выгрузка числовых данных в dbf файл kenzo DAX: Программирование 2 12.04.2006 16:01
Экспорт в *.dbf Migel_84 DAX: Программирование 2 06.01.2006 14:12
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:41.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.