Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Экспорт базы данных - проблема с кодировкой


Автор: shurrik 18.4.2006, 06:01
В Access все по русски, все нормально. После экпорта в парадокс русские буквы меняются на каракули. Ставлю в парадоксе ASCII все меняется на еще худшие каракули. В ручную все перебивать - геморой. Помогите кто чем может 

Автор: samurai 18.4.2006, 07:28
Вероятнее всего, что парадокс 5.0 имеет кодировку DOS
и перед экспортом в парадокс нужно символьную строку перевести в дос кодировку:

Код

function TForm1.WinToDos(st:string): string;
var ch: string;
begin
  SetLength(ch, Length(St));
  CharToOem(Pchar(St), PChar(ch));
  Result:=Ch;
end; 


Код

s:=wintodos(trim(sComboBox1.Text));


и теперь в s строка в дос кодировке
удачи! 

Автор: shurrik 18.4.2006, 10:17
Это на одну строку. А как чтобы "одним нажатием" всю таблицу? Там около тысячи строк 

Автор: sexton 18.4.2006, 11:48
First, Next 

Автор: samurai 18.4.2006, 13:46
Ну это же совсем маленькая программка
нужно перебрать все поля в строке(запись) и все строки(записи) в таблице!
делается одним простым циклом, за один шаг нужно перевести всю запись.

я делал тоже самое когда вормировал dbase из *.xls, и считаю это самым простым способом.
Во время которого можно заодно делать проверку записываемых данных и как то корретировать,
например обрамлять пробелы,
ибо лишних проверок не бывает! 

Автор: x77 18.4.2006, 15:08
скорее всего, просто в Парадоксе драйвер указан криво. для отображения "виндовых" символов он должен стоять в Pdox Ansi Cyrrilic, а не в ASCII. 

Автор: shurrik 19.4.2006, 05:25
По умолчанию после экпорта в Парадоксе стоит кодировка Pdox Ansi Japan, из-за этого и проблемы по всей видимости. Как сделать чтобы по умолчанию была кириллица? Я думаю тогда будет все отлично. 

Автор: x77 19.4.2006, 14:14
открой BDE Administrator, раздел конфигурацию, Native, Paradox. там есть поле LangDriver или как-то так.

после этого все бде-шные проги надо перезапустить. 

Автор: shurrik 20.4.2006, 05:41
Все получилось! Все очень элементарно! Просто база Access открывается в Парадоксе и нажатием на Copy копируем нужную таблицу в нужное место. И с кодировкой все нормально 

Автор: x77 20.4.2006, 19:05
"база Access открывается в Парадоксе" - как это? smile 

Автор: shurrik 21.4.2006, 05:35
Легко  smile  В BDE (Панель управления -> Администрирование -> ODBC) необходимо подцепить базу Access. дальше еще проще. Открываем Database Desktop. Open -> Table. Выбираем в Alias нашу подсоединеную базу в ODBC. И копируем нужные таблицы. Могу описать подробнее, если надо. 
P.S. немного неправильно выразился. Access открывается не в парадоксе, а в Database Desktop. А там уже конвертируется 

Автор: samurai 21.4.2006, 10:08
хех 
Цитата

После экпорта в парадокс русские буквы меняются на каракули.


странно, я не  думал, что экспорт в парадокс - это открыть ручками таблицу в редакторе и сохранить с другим разрешением
я думал речь про программую реализацию  smile  

Автор: shurrik 21.4.2006, 10:22
Мой косяк smile Не конкретизировал 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)