Podrška #25296
ZatvorenF18, utf konverzija u outf.txt, f18_editor
100%
Opis
radi problema štampe u outf.txt
Fajlovi
Povezani tiketi 2 (0 otvoreno — 2 zatvorenih)
Izmjenjeno od Ernad Husremović prije oko 13 godina
setpxlat je funkcija koja je dummy u F18
Izmjenjeno od Ernad Husremović prije oko 13 godina
i u hbct je ova funkcija dummy
hernad@macan:~/devel/harbour/harbour-3.0.0$ grep -r -i "setpxlat" * contrib/hbct/cterror.ch:#define CT_ERROR_SETPXLAT 2024 contrib/hbct/dummy.c:HB_FUNC( SETPXLAT ) {;}
Izmjenjeno od Ernad Husremović prije oko 13 godina
rješenje je ? hb_strtoutf8(cOut)
Izmjenjeno od Ernad Husremović prije oko 13 godina
hm za gnFirma dobijam
Husremovi<86>
Izmjenjeno od Ernad Husremović prije oko 13 godina
deaktiviraću sve konverzije znakova kao npr. StrKznWin.
Izmjenjeno od Ernad Husremović prije oko 13 godina
common/common_string_util.prg
stavio "četiri" i imam problems a encoding-om
http://stackoverflow.com/questions/778069/how-can-i-change-a-files-encoding-with-vim
Izmjenjeno od Ernad Husremović prije oko 13 godina
commit silna brisanja konverzija
ovo će vjerovatno izazvati popriličan haos. ali bolje da ovo raskopam nego da ovi čaršafi presipanja iz šupljeg u prazno jednom za uvijek prekinemo
i konverzije svedemo na jednu dvije funkcije koje svako razumije.
Izmjenjeno od Ernad Husremović prije oko 13 godina
- Fajl utf8tostr.png utf8tostr.png dodano
napravio sam konverziju fajla u utf-8
https://github.com/knowhow/F18_knowhow/commit/027887ae11fb7888aa10720971ad9c05cc7f30f3
:set
--- Options --- background=dark hidden incsearch shiftround noswapfile ttyfast expandtab history=1000 laststatus=2 shiftwidth=4 syntax=clipper ttymouse=xterm2 filetype=clipper hlsearch number showmatch tabstop=4 visualbell helplang=en ignorecase scroll=18 smartcase title backspace=indent,eol,start fileencoding=utf-8 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< fileencodings=ucs-bom,utf-8,default,latin1
napomena:
vi editor ovaj fajl vidi sada kao utf-8 enkodiran i u njemu normalno vidim naša slova.
i onda sa hb_utf8tostr() napravio konverziju koju UI prepoznaje kako treba:
Izmjenjeno od Ernad Husremović prije oko 13 godina
Izmjenjeno od Ernad Husremović prije oko 13 godina
kada sam u poreznu fakturu stavio hb_StrToUtf8
dobijam čist utf-8 txt fajl
Izmjenjeno od Ernad Husremović prije oko 13 godina
Izmjenjeno od Ernad Husremović prije oko 13 godina
rezime¶
1) Prikaz stringova na UI-u, kao i snimanje u dbf mora pretrpiti konverziju hb_Utf8ToStr( utf8_enkodiran_string )
2) habrour prg fajlovi trebaju biti konvertovani u utf-8 encoding sa odgovarajućom set fileendoding=utf-8
3) ako želimo prikaz utf onda vršimo konverziju internih stringova u utf-8 sa hb_StrToUtf8( oem?ansi?ne znam šta od ovoga_encodiran_string )
Izmjenjeno od Ernad Husremović prije oko 13 godina
windows aplikacije ptxt, delphirb i naša slova ?!¶
kako će se ptxt ponašati to tek trebamo vidjeti sa ovakvim outf.txt-om.
možeš li posljednji outf.txt učitati u PTXT na windows mašini i pustiti na printer ?
Izmjenjeno od Ernad Husremović prije oko 13 godina
ja sam testirao:
prvi outf.txt sa račun/otpremnica enkodiran po latin-2 oem-u PTXT prikazuje kako treba.
drugi račun-otpr ne prijkazuje, ovaj što je enkodiran kao utf-8.
Izmjenjeno od Ernad Husremović prije oko 13 godina
Izmjenjeno od Ernad Husremović prije oko 13 godina
koji je machine encoding uopšte ? cp852 ? cp1250 ? trebao bi biti win-1250
Izmjenjeno od Ernad Husremović prije oko 13 godina
hm ...
encoding posljdenjeg fajla je cp852.
kada sam na windows mašini otvorio sa vim i stavio
:set encoding cp852
dobio sam naša slova
Izmjenjeno od Ernad Husremović prije oko 13 godina
pa da ... ptxt je podešen da prima fajlove koje generiše fmk a fmk je native cp852 generisao naša slova.
Izmjenjeno od Ernad Husremović prije oko 13 godina
cp852 zašto ?¶
pa zato što smo kod inicijalizacije aplikacije rekli
hb_setCodePage( "SL852" ) hb_setTermCP("SLISO")
Izmjenjeno od Ernad Husremović prije oko 13 godina
windows postavke¶
saša je ovo komentarisao i podesio da radi kao i mac/linux:
//REQUEST HB_CODEPAGE_SL852 //REQUEST HB_CODEPAGE_SLWIN //hb_setCodePage( "SL852" ) //hb_setTermCP("SLWIN")
zašto ?
Izmjenjeno od Ernad Husremović prije oko 13 godina
hernad@macan:~/github/F18_knowhow$ cat /usr/local/bin/f18_editor
# iconv na mac-u: brew install icon cat $1 | sed 's/#%.*#//g' | iconv -c -f IBM852 -t UTF-8 > $1.conv.txt mvim $1.conv.txt
Izmjenjeno od Ernad Husremović prije oko 13 godina
- Fajl f18_editor.png f18_editor.png dodano
iskoristio sam F18 editor da izbacim i ptxt kodove tako da imam pregled:
Izmjenjeno od Ernad Husremović prije oko 13 godina
- Naslov promijenjeno iz F18, utf konverzija u outf.txt u F18, utf konverzija u outf.txt, f18_editor
Izmjenjeno od Ernad Husremović prije oko 13 godina
Ernad Husremović je napisao/la:
windows postavke¶
saša je ovo komentarisao i podesio da radi kao i mac/linux:
[...]
zašto ?
ako na win imamo istu funkcionalnost kao i unix/linux nije ni bitno :)
Izmjenjeno od Ernad Husremović prije oko 13 godina
- % završeno promijenjeno iz 0 u 90
Izmjenjeno od Ernad Husremović prije oko 13 godina
harbour podrška našim znakovima, rekap¶
praktično tri postavke:
1) dbf, memorijske varijable¶
podaci u dbf i memorijske varijable podaci nalaze se u formatu određeni ovim parametrom:
hb_setCodePage( "SL852" )
2) terminal¶
podaci se na terminal šalju u skladu sa ovim parametrom:
hb_setTermCP("SLISO")
ova konverzija terminal <-> memorijske varijable odvija se automatski tako da nam ovaj parametar, kada je sve ok sa prikazom naših slova na terminalu, možemo ispustiti iz vida
3) print oput¶
qout i slične komande, ako želimo utf trebaju raditi konverziju sa
hb_StrToUtf8 memorijskih varijabli i sadržaja dbf polja da bi dobili utf-8 output.
4) harbour source code, enkodiran utf-8¶
ako pišemo string konstante u harbour source-kodu, treba koristiti utf-8 file encoding (vim :set fileencoding utf-8)
tada međutim treba napisati:
neka_var = hb_Utf8ToStr("Ernad Husremović")
Izmjenjeno od Saša Vranić prije oko 13 godina
Ernad Husremović je napisao/la:
windows postavke
saša je ovo komentarisao i podesio da radi kao i mac/linux:
[...]
zašto ?
živ ti bio, ja ništa komentarisao nisam. Taj dio koda nisam ni gledao.
Izmjenjeno od Ernad Husremović prije oko 13 godina
vjerovatno je ovo rađeno kod ld porta na harbour. kasnije sam zaključio da nije ni bitno.
Izmjenjeno od Ernad Husremović prije oko 13 godina
- Status promijenjeno iz Novo u Zatvoreno
- % završeno promijenjeno iz 90 u 100
Izmjenjeno od Ernad Husremović prije skoro 13 godina
PTXT - 852 enkodiranje => OUTF.TXT - ne koristiti hb_StrToUtf8¶
Ernad Husremović je napisao/la:
rješenje je ? hb_strtoutf8(cOut)
ne koristiti ovu funkciju jer F18 treba proizvesti outf.txt koji koristi PTXT.
PTXT koristi 852 enkodiranje.
Ovo je ispravno za polje partner
f18_editor proizvodi conv.txt koji je 852 enkodiran i njega pregledamo u vi editoru