Mam kod uruchamiany na przycisk. Program wczytuje najpierw plik, mieli dane w tabelach a na koniec wypluwa go za pomocą poniższego kodu. Przy pliku wejściowym podawane jest kodowanie pliku, w tym samym kodowaniu plik powinien zostać wydrukowany. Domyślne kodowanie bazy to ISO 8859-2. Plik się generuje ale powstają krzaki. Próbowałem pobierać plik bez convertów przy htp.ptn. Potem już wraz z konwertowaniem. Na razie za każdym razem kodowanie pliku jest niepoprawne.

Plik wchodził z kodowaniem windows 1250 więc pod zmienną l_kodowanie znajduje się EE8MSWIN1250. Wiecie czemu taka konstrukcja nie działa?

 
DECLARE
	l_sep VARCHAR2(1) := ';';-- znak separatora
	l_endl VARCHAR2(5) := chr(13)||chr(10); -- koniec linii w systemie windows
	l_nazwa_pliku VARCHAR2(100);
	l_naglowek VARCHAR2(200);
        l_kodowanie VARCHAR2(20);
	l_kodowanie_base VARCHAR2(20) :='EE8ISO8859P2';
	
BEGIN
	SELECT nazwa_pliku 
	INTO l_nazwa_pliku 
	FROM repozytorium
	WHERE id = (SELECT max(id) FROM repozytorium);
	
   SELECT naglowek, kodowanie INTO l_naglowek, l_kodowanie FROM clob_przechowalnia_pliku;   
  
    owa_util.mime_header('application/octet', FALSE);
	htp.p('Content-Disposition: attachment; filename='||l_nazwa_pliku);
	owa_util.http_header_close;
	

	 
	htp.prn(convert(l_naglowek||l_sep||l_endl,l_kodowanie,l_kodowanie_base));

	FOR x IN (SELECT liczba_porzadkowa, 
				     imie, 
					 nazwisko
		      FROM klient
			  ORDER BY id)
	LOOP
		htp.prn(convert(x.liczba_porzadkowa||l_sep||
                x.imie||l_sep||
	        x.nazwisko||l_sep||l_endl,l_kodowanie, l_kodowanie_base));
				

	END LOOP;

	htmldb_application.g_unrecoverable_error := true;

END;