Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Национальные символы в Delphi [D7, XP]


Страницы:   1 2

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо