Hola hola!
Atemeltem egy magyar win 98 alol egy JAVA nyilvantarto programkat binux ala. (Ubuntu)
Az a gond, hogy az ekezetes karakterek helyen csak negyzeteket jelenit meg.
Ugy telepitettem az Ubuntu-t, hogy full magyar legyen.
Amugy a linux alatt beirt ekezetes karaketerek mar jol jelennek meg.
Mit kene meg tennem, hogy a regiek is jok legyenek?
Esetleg valami command line dos2unix cucc or whatever?
Maga a program szimpla text file-okban tarolja az adatokat.
- 1470 megtekintés
Hozzászólások
utf8-ra kell konvertálni. (A mikéntet nem tudom, keresd meg!)
- A hozzászóláshoz be kell jelentkezni
convmv a fájlneveket konvertálja, de alapból előbb csak tesztet csinál.
éles helyzetben:
convmv --notest -r -f latin2 -t UTF8 fájl_neve
A fájlok belsejében található szövegeket meg a recode oldja meg.
recode latin2..utf-8 fájl_neve
- A hozzászóláshoz be kell jelentkezni
recode
- A hozzászóláshoz be kell jelentkezni
A rendszer folyamatosan végez karakterkészlet-átalakításokat, ezért csak az a meglepő, hogy kevesen tudják, hogy a glibc alapba telepíti az iconv programot.
- A hozzászóláshoz be kell jelentkezni
iconv-val probalkoztam, es latom is, hogy csinalja az atalakitast jol.
hasrautve, ahogy logikusnak tunt probaltam a kovetkezoket:
input: (semmi) output: UTF-8
input: 852 output: UTF-8
input: iso8859-2 output: UTF-8
egyelore egyik sem hozta meg a kivant eredmenyt, habar tovabbgyurtek az ekezetes karaktereket, tehat valami azert tortent.
vajjon hogy tudnam kitalalni, hogy mi lehetet a file eredeti formatuma?
- A hozzászóláshoz be kell jelentkezni
windows-1250 volt esetleg ?
- A hozzászóláshoz be kell jelentkezni
Szerintem inkabb ilyesmi kene, hogy export LANG=... meg LC_...=..., attol fuggoen hogy mi az aktualis nyelv es milyen a terminal (felteve ha a java-s cucc terminalban dolgozik), de a terminal kodolasat is lehet explicit allitani (xterm -en ). Elso kozelitesben ezt probalnam ki, mielott a teljes forrast atirnam.
- A hozzászóláshoz be kell jelentkezni
Ha hozzáférsz a java parancssorhoz, amivel a VM-et indítod, akkor a -Dfile.encoding=Latin-2 (a paraméter neve tuti így van, a karakterkódolásé nem biztos) be lehet állítani a JVM áltam megnyitott szövegfájlok alapértelmezett enkódolását. Persze ezzel a béna múlthoz fogsz visszahúzni, ami buta dolog.
Ez a tudás azonban arra is jó lehet, hogy ha mégis magyar windows alól használnád a már átkonvertált fájljaidat, akkor ott meg a -Dfile.encoding=UTF-8 paraméterrel jól fognak megjelenni a modern kódolású cuccok.
- A hozzászóláshoz be kell jelentkezni
na ilyenekhez en mar nem ertek.
ay alapfelallas az, hogy be-mount-oltam a win98-as wincsit es egy szimpla cp-vel atmasolt a programot.
ha a linuxon belenezek az adatokat tartalamzo szoveges file-ba, akkor a win98-on irt ekezetes karakterek helyen csak ? van, amit linux-on irtam bele, az tokeletesen megjelenik ekezettel egyutt.
na innen nem tudok egyelore tovabblepni.
eddig barmibol barmi probaltam konvertalni iconv-*val, az nem lett jo.
vagy mar az atmasolassal elbasztam volna?
- A hozzászóláshoz be kell jelentkezni
Szerintem a másolásnál nem lehet elbaszni, mert a másolás az másolás. Ha van olyan fájlod, ami nem tartalmaz üzleti titkokat, azt oszdd meg, akkor elképzelhető, hogy valaki összerak neked egy teljes felparaméterezett parancssort is, ami konvertál jól
- A hozzászóláshoz be kell jelentkezni
ami engem erdekelne:
-linux alatt locale parancs milyen ertekkel ter vissza.
-nehany sor a fajlbol, amiben kerdojelek vannak.
2 esetet tudok elkepzelni:
-javas progi unicode kodolassal ment, linuxod meg valamilyen iso locale-lel fut.
-javas progi valamilyen iso-8859 kodolassal ment, linuxod meg utf8-as locale-lel megy.
Tyrael
- A hozzászóláshoz be kell jelentkezni
na, ugy tunik megiscsak a masolas (mount) kornyeken lehetett a hiba.
visszamasoltam egy XP ala a cuccost es mar ott is negyzetkek vannak az ekezetek helyen.
lehet, hogy most hulyeseget fogok kerdezni, a mount-hoz nem kellett vola megadni valami kodlapra vonatkozo okossagot?
a fenti javaslatokat megsasolom, aztan beszamolok.
koszi mindenkinek!
- A hozzászóláshoz be kell jelentkezni
Mint írták volt legott a másolás az másolás.
Linux alatt mag az ékezetes karakteres állomány neveivel lehet prolémád, de a beltartalmukkal nem.
Hiszen max nem text állománynakm hanem data nak ismeri fel.
file allomany
:)
mount kódlapos opcicók nem vonatkoznak az állományok beltaralmamára.
Esetleg nem leheteéő hogy valamilyen konverter progit rosszul paraméterezve futtattál rajta ?
-TamsA-
Ha átadod a tudásod neked attól még nem lesz kevesebb belőle..
- A hozzászóláshoz be kell jelentkezni
dehogy futtattam en rajta barmit is.
max meg az lehet, hogy nem kellett volna elinditani progit, hanem elobb gyurmazni a konvertalassal...
meglatjuk, ma ujra nekifutok.
- A hozzászóláshoz be kell jelentkezni
vegulis ez segitett:
mount -o codepage=852,iocharset=8859-2,fat=32 source_device mount_point
iconv -f=8859_2 -t=UTF-8 source_file > destenation_file
az iconv-val ugyenzt probaltam amugy a mount parameterezese nelkul es ugy nem volt jo.
- A hozzászóláshoz be kell jelentkezni