|  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  . А другие дрова мне не подходят - они не поддерживают select into и insert from select  Надо кровь с носа разобраться с настройками 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 | |||
| 
 |