Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];

Вниз

Проблема с кодировкой   Найти похожие ветки 

 
Шурик Ш   (2002-10-18 16:07) [0]

Как открыть таблицу DBF c кодировкой ""ascii" ANCI", а то она у меня в ДБ-гриде открывается нак набор закорючек.


 
Reindeer Moss Eater   (2002-10-18 16:18) [1]

TTable.Open;
TTable.Active:=True;


 
Шурик Ш   (2002-10-18 16:20) [2]

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


 
Reindeer Moss Eater   (2002-10-18 16:21) [3]

Тогда настрой параметр LANGDRIVER для DBase и все


 
Шурик Ш   (2002-10-18 16:24) [4]

А как его настроить програмно?
Мне присылают файлы в таком формате, поэтому для каждого из них заниматься таким гемороем тяжело. Куда проще заложить это в саму прогу!


 
Шурик Ш   (2002-10-18 16:36) [5]

Типа, Up!


 
Reindeer Moss Eater   (2002-10-18 16:37) [6]

Session.ModifyDriver(....)

Но не все так просто. В заголовке DBase может быть указано, что язык таблицы ANSI, а реально содержатся данные в сp866


 
Шурик Ш   (2002-10-18 16:46) [7]

Ничего не понимаю! Кошмар, какой-то!
Еще раз...
У меня:
Query - 1 шт.
DataSource - 1 шт.
DBGrid - 1 шт.

А что такое Session?


 
Reindeer Moss Eater   (2002-10-18 16:51) [8]

Session - глобальный экземпляр класса TSession, автоматически создаваемый Delphi - 1 шт.


 
Шурик Ш   (2002-10-18 17:14) [9]

Что я деляю неправильно?

NewDriverParams:=TStringList.Create;
NewDriverParams.Add("LANGDRIVER = db866ru0");
Session.ModifyDriver("DBASE", NewDriverParams);



 
Reindeer Moss Eater   (2002-10-18 17:25) [10]

1. Создать список параметров
2. Получить в него параметры по умолчанию
Session.GetConfigParams("\DRIVERS\%s\INIT","DBASE",NewDriverParams);
Session.GetConfigParams("\DRIVERS\%s\TABLE CREATE","DBASE",NewDriverParams);
3. Изменить параметр языка
cList.Values["LANGDRIVER"]:="db866ru0";
4.Session.ModifyDriver


 
Reindeer Moss Eater   (2002-10-18 17:26) [11]

В предпоследней строке конечно же не cList, а NewDriverParams


 
Шурик Ш   (2002-10-18 17:41) [12]

Да, действительно, там уже и так db866ru0, а почему ж он тагда все криво отображает?


 
Reindeer Moss Eater   (2002-10-18 17:45) [13]

Посмотри в какой реально кодировке данные в таблице. Например с помощью вьюера в FAR


 
Шурик Ш   (2002-10-18 18:29) [14]

Вместо алеаса пишу просто путь к БД. В этом случае, что писать вместо алеаса в вызове GetConfigParams?


 
Reindeer Moss Eater   (2002-10-18 18:55) [15]

Посмотри в какой реально кодировке данные в таблице. Например с помощью вьюера в FAR



 
lejik   (2002-10-19 18:59) [16]

Я делал так:
procedure TForm1.FormCreate(Sender: TObject);
var MyList:TStrings;
begin
MyList:=TStringList.Create;
MyList.Clear;
Session.Close;
try
MyList.Add("LANGDRIVER=""""acsii""ANSI""");
Session.ModifyDriver("Microsoft FoxPro VFP Driver (*.",MyList);
Session.Open;
except
on E: Exception do
MessageBox(Handle,PChar(E.Message), ("Error"), MB_ICONERROR+MB_OK);
end;
Session.SaveConfigFile;
dm2.Table1.Active:=true;


 
Anatoly Podgoretsky   (2002-10-19 19:25) [17]

NewDriverParams.Add("LANGDRIVER = db866ru0");
Если у тебя это, то это никак не ANSI ascii
Кроме прочего учти, что ANSI ascii это не русский, а обощенное имя локализации системе, то есть на машине с французкой локалью это будет французкий.
Но все это ерунда, все будет зависить а что реально у тебя в таблице и где ты будешь это использовать, используется ли перекодировка полей, какие шрифты используются для показа, какой у них указан скрипт (charset)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
8-21691
Porolonchick
2002-07-14 08:13
2002.11.07
Как радио послушать или телевизор посмотреть?


1-21616
lena13
2002-10-26 09:37
2002.11.07
Что и как надо обрабатывать?


14-21793
MaximatorVeter
2002-10-10 23:02
2002.11.07
Когнетивная психология!


1-21675
AFrolov
2002-10-25 17:15
2002.11.07
как создать свой обработчик и повесить его на событие Timer a


4-21887
Budoudoo
2002-09-26 21:04
2002.11.07
Работа с телефонной линией. Модем.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский