Форум: "Базы";
Текущий архив: 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