Zmiana rozszerzenia pliku likwiduje część polskich znaków

0

Witam państwa. Mam problem natury technicznej który polega na tym, iż pomimo ustawienia Delphi ver.7 na obsługę polskich znaków, zmiana typu pliku z doc/ini/txt na format html likwiduje mi część polskich liter (dosłownie usuwa je z pliku).
Przykładowy kod programu:

// Zapis danych
AssignFile(TF, 'C:\plik.txt');
Rewrite(TF);

WriteLn(TF, '<!DOCTYPE html'); WriteLn(TF, ' PUBLIC "-*W3C*DTD XHTML 1.0 Transitional//EN"'); WriteLn(TF, ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
WriteLn(TF, '<html>');
WriteLn(TF, '<head>');
WriteLn(TF, '<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />');
WriteLn(TF, '<title>Tytuł dokumentu</title>');
WriteLn(TF, '</head>');

WriteLn(TF, '<p align="center">A</p>');
WriteLn(TF, '<p> </p>');
WriteLn(TF, '<table width="100%" border="1">'+
              '<tr>'+
                      '<td width="5%"><p align="center"><p>LP</p></td>'+
                      '<td width="45%"><p align="center"><p>Określenie aktu</p></td>'+
                      '<td width="5%"><p align="center"><p>LP</p></td>'+
                      '<td width="45%"><p align="center"><p>Określenie aktu</p></td>'+
              '</tr>'+ '<tr>'+
                      

{itd, itp…}
'</tr>'+''+
'

18

</td>'+
'

</td>'+
'

37

</td>'+
'

</td>'+
'</tr>'+''+
'

19

</td>'+
'

</td>'+
'

38

</td>'+
'

</td>'+
'</table>');
WriteLn(TF, '</html>');
WriteLn(TF, '</head>');
CloseFile(TF);</p>

RenameFile('C:\plik.txt', 'C:\plik.doc');

Tak to wygląda np w formacie pliku txt:

<!DOCTYPE html PUBLIC "-*W3C*DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <title>Tytuł dokumentu</title> </head>

A

LP

Określenie aktu

LP

Określenie aktu

1

Podanie o pracę

20

2

Ksero świadectwa szkolnego

21

3

Ksero świadectwa pracy

{… itd, itp…}

19

38

</html> </head>

A tak po urzyciu funkcji RenameFile('C:\plik.txt', 'C:\plik.html')

<!DOCTYPE html PUBLIC "-*W3C*DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <title>Tytuł dokumentu</title> </head>

A

LP

Okrelenie aktu

LP

Okrelenie aktu

1

Podanie o pracę

{…itd, itp…}

38

</html>

Prawdę powiedziawszy nie rozumiem skąd ta utrata danych przy zwykłej zmianie rozszerzenia pliku. Ręcznie jak zmieniam rozszerzenie to wszystko dobrze działa.
Proszę o propozycję i pomysły jak można rozwiązać ten problem. Szukałem sam na własną rękę i jedyną opcją jaką na razie widzę jest zapisanie tekstu w pliku w postaci kodowej, lecz konwersja 500 dokumentów i zmiennych raczej mało mi się podoba.
Jeżeli jednak ktoś wie jak poprzez Delphi utworzyć tabele w plikach doc to byłbym wdzięczny, gdyż wujek gogle ciągle przekierowuje mnie cały czas w kierunku zapisu danych z tabeli (array) do pliku i nie chce się przyznać jak narysować tabelę w tym pliku ^^”

Z góry dziękuję za pomoc

0

a sprawdz w jakim formacie sa zakodoane znaki w pliku przed i po zmianie przy użyciu renamefile() i po zmianie "recznej".
ps. użyciu, nie "urzyciu".

0

Dziękuję bardzo.
To prawda, problem był w kodowaniu między UTF-8 a ISO.
Prawdę powiedziawszy pliku txt nie muszę konwertować w tym programie do html, ale był jako test. Teraz już wiem dzięki tobie, iż przy zapisie do pliku html, trzeba prócz kodowania samej strony zakodować każdy tekst w tym samym stylu. Tu na szczęście przyszedł mi z pomocą utf8encode() ^^
Jeszcze raz dziękuję.

1 użytkowników online, w tym zalogowanych: 0, gości: 1