[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: UTF-8



Aplikacja pracująca w Windows w stronie kodowej 1250 ma sporządzać raporty
w UTF-8. Czy ktoś z szanownych grupowiczów rozwiązywał już taki problem ?
Interesuje mnie najprostsze rozwiązanie i jak najbardziej wydajne.
Czy Progress ma "wbudowaną" obsługę UTF-8 ?

Witam !
Używam strony kodowej UTF-8 w Progress'ie wersja 9.1B. W instrukcji otwierającej strumień OUTPUT STREAM TO, na który posyłany jest raport należy użyć frazy:

  CONVERT TARGET nazwa_strony_kodowej

i dalej posyłać treść raportu na ten strumień a Progress dokona wszelkich konwersji ze strony 'cpinternal' na zadaną stronę automatycznie. Podobine przy czytaniu - w instrukcji INPUT STREAM FROM trzeba użyć frazy:

  CONVERT SOURCE nazwa_strony_kodowej  (w naszym przypadku będize to 'UTF-8')

co spowoduje konwersję z zdanej strony na stronę 'cpinternal'.

Oczywiście w pliku convmap.cp musi istnieć tablica konwersji ze strony 1250 na UTF-8 lub odwrotnie (wystarczy jedna z nich).
Taka tablica istnieje dopiero od wersji 9.1B Progress'a. We wczesniejszych wersjach jej nie było, a Progress, nie wiedzić czemu, nie sygnalizował jej braku tylko wykonywał abstrakcyjne konwersje (braki innych tablic konwersji sygnalizował).  Pisałem o tym chyba rok temu na liście, bo kosztowało to mnie sporo zdrowia by wykryć co jest tego przyczyną (w archiwum tej listy dyskusyjnej pewnie jest ten mój list ze słowem UTF-8 w tytule z dnia 2001/03/27).
Jesli Pan nie ma wersji 9.1B, to mogę przysłać źródłową postać tej tablicy konwersji. Trzeba ją dodać do pliku convmap.dat i plik convmap.dat skompilować programem proutil z opcją CODEPAGE-COMPILER.
Warto przypomnieć, że kody UTF-8 są nie zawsze jednobajtowe, np: polskie litery są trzymane na dwóch bajtach. Jest ciekawa strona www na temat unicodów, polecam: http://www.unicode.org/

Pozdrawiam,

                   
Henryk Jusza               mailto:henju@pg.gda.pl
-------------------------------------------------
Ośrodek Informatyczny Politechniki Gdańskiej
Pracownia Rozwoju Oprogramowania
tel (058) 347-28-01          fax (058) 347-24-63