![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Национальные символы в Delphi [D7, XP]
Xmen © (2012-07-04 09:44:00)Как работать с национальными символами в Delphi.
Делаю прогу для теста. Сделали вопросы и ответы на Экселе с национальными символами. Их нужно загрузить в базу. Когда загрузил вместо национальных букв получил другие символы (=, +, ?). Как правильно загрузить и правильно показать в проге нац. символы. База Firebird 2.1. Кодировка базы Win1251, поля в которых загружается вопросы и ответы в UTF8.
Плохиш (2012-07-04 12:48:00) [21]
> Может я чета упустил?
>
> path,shname,x1,x2,x3,x4,x5,x6: string;
>
Это не юникод.
Xmen (2012-07-04 12:39:00) [22]Базу и таблицу сделал на UTF8 но все равно неполузается записат национальные символы. Вот кусок кода который пишет в базу из Excel. Может я чета упустил?
procedure TyuklForm.Button1Click(Sender: TObject);
const
xlCellTypeLastCell = $0000000B;
var
exl:OleVariant;
WorkBook, Sheet : Variant;
path,shname,x1,x2,x3,x4,x5,x6:string;
counts,r,exl_count:integer;
begin
counts:=0;
path:= ExtractFilePath(Application.ExeName);
shname:=ExtractFileName(Edit1.Text);
exl:=CreateOleObject('Excel.Application');
Workbook:=exl.Application.WorkBooks.Add(Edit1.Text);
Sheet:=WorkBook.WorkSheets[1];
exl_count:=200;
dtsQuest.Open;
for r:=1 to exl_count do
begin
x1:=Trim(Sheet.Cells.Item[r,2].Value);
x2:=Trim(Sheet.Cells.Item[r,3].Value);
x3:=Trim(Sheet.Cells.Item[r,4].Value);
x4:=Trim(Sheet.Cells.Item[r,5].Value);
x5:=Trim(Sheet.Cells.Item[r,6].Value);
x6:=Trim(Sheet.Cells.Item[r,7].Value);
dtsQuest.Insert;
dtsQuest.FieldByName('question').AsString:=x1;
dtsQuest.FieldByName('answer_a').AsString:=x2;
dtsQuest.FieldByName('answer_b').AsString:=x3;
dtsQuest.FieldByName('answer_c').AsString:=x4;
dtsQuest.FieldByName('answer_d').AsString:=x5;
dtsQuest.FieldByName('answer_correct').AsString:=x6;
dtsQuest.post;
inc(counts);
end;
trUni.CommitRetaining;
Exl.Quit;
Exl := Unassigned;
Close;
end;
Inovet (2012-07-04 12:29:00) [23]> [6] Омлет © (04.07.12 12:19)
> Переделай в UTF8.
Так автор говорит
> [0] Xmen (04.07.12 09:44)
> поля в которых загружается вопросы и ответы в UTF8.
Омлет (2012-07-04 12:19:00) [24]
> Кодировка базы Win1251
Переделай в UTF8.
Xmen (2012-07-04 12:14:00) [25]Посмотрел пример с компонентой теперь понятно с отображением но не понятно с сохранением в базе Unicode
Xmen (2012-07-04 12:10:00) [26]Установил TntWare Delphi Unicode Controls.
Теперь можно с Экселя в Базу скачать данные и как?
Ни знаком с компонентой.
Anatoly Podgoretsky (2012-07-04 11:21:00) [27]
> поддержку Юникода
Нужна поддержка Юникода, Эксель он весь Юникодный
Xmen (2012-07-04 10:44:00) [28]а в firebird как загрузить из экселя такие символы? Попробовал потом посмотрел из IBExpert вопросики стоят вместо символов
Anatoly Podgoretsky (2012-07-04 10:14:00) [29]> Xmen (04.07.2012 09:44:00) [0]
Нужно установить поддержку Юникода, набор компонент TMS