Špatné zobrazení diakritiky na serveru

Špatné zobrazení diakritiky na serveru
« kdy: 21. 12. 2012, 11:53:18 »
Na disku, ktory mam ako ulozisko ak skopirujem nejake subory z windows prostredia zobrazuju sa nespravne a je potrebne ich premenovat. Pravdepodobne to je tym ze windows je 1250 a linux ma defaultne utf-8. Je mozne nejako nastavit prostredie aj pre cp-1250 aj utf-8? vdaka
« Poslední změna: 21. 12. 2012, 23:41:26 od Petr Krčmář »



Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #2 kdy: 21. 12. 2012, 12:40:07 »
Praveze to nie je problem len samby...vlastne momentalne som vybral dany disk a pripojil do linuxu a znaky nespravne zobrazene, cize som v prostredi desktopu....
Tieto subory pravdepodobbe vznikli skopirovanim z windowsackych masin cez ssh. Znaky su zobrazene roznymi stvorcekmi....a nie je mozne ich citanie az po prepisani...Rad by som tomu predisiel aby sa to zobrazovalo spravne ci uz pri kopirovani cez ssh alebo na serveri....
popripade ako zabezpecit sucasne zobrazovanie utf-8 aj cp-1250 alebo ako premenit cp-1250 do utf-8?

Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #3 kdy: 21. 12. 2012, 12:56:26 »
skusil som toto:
convmv -r --notest -f cp1250 -t utf8 /media/wd3tb/ostatne/Humor

a problem je zo š a č....inak vsetko vyzera ze robi spravne, ale š a č prehodi do paragrafov a inych blbosti...

pavel

Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #4 kdy: 21. 12. 2012, 13:01:50 »
Na zálohování pro připojení do Win7 používám něco takového:

sudo mount.cifs //"$mpointserver" "$mpointclient" -o \
username="$username1",\
password="$password1",\
iocharset=utf8,\
uid="$uid01",\
gid="$gid01",\
dir_mode=0775,\
file_mode=0664,\
nounix,\
noserverino >/dev/null



Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #5 kdy: 21. 12. 2012, 13:02:01 »
Praveze to nie je problem len samby...vlastne momentalne som vybral dany disk a pripojil do linuxu a znaky nespravne zobrazene, cize som v prostredi desktopu....
Nechapu pointu.

Tieto subory pravdepodobbe vznikli skopirovanim z windowsackych masin cez ssh. Znaky su zobrazene roznymi stvorcekmi....a nie je mozne ich citanie az po prepisani...Rad by som tomu predisiel aby sa to zobrazovalo spravne ci uz pri kopirovani cez ssh alebo na serveri....
popripade ako zabezpecit sucasne zobrazovanie utf-8 aj cp-1250 alebo ako premenit cp-1250 do utf-8?
Filesystém neřeší kódování názvu souborů - co mu předám, to tam prdne. Když vytvořím soubor s názvem 0x01 0x02 0x03, tak s tam prostě bude jmenovat. Jak název 0x01 0x02 0x03 zobrazit, to už je otázkou jiných částí OS. Čili soubory a kódování spolu nijak nesouvisí.

Takže není jiné řešení, než zjistit, kdo, jak a proč tam ty soubory s podivným kódováním vytvořil. Pokud je tam nahrál přez ssh, je potřeba to řešit na úrovni ssh. Pokud přes sambu, musí se to řešit konfigurací samby.

Takže žádné "současné zobrzování X a Y" neexistuje.

A co se týče toho "přemenění X na Y", tak to se udělat dá. Prostě se jméno souboru zmení z řetězce kódovaného v X na řetězec kódovaný v Y. Je ale potřeba myslet na to, že když potom na ten soubor někdo šáhne tím způsobem, kterým ho tam nahrál, bude mít zase zmršené kódování on, protože očekává, že názvem soubru je řetězec kódovaný v X.

Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #6 kdy: 21. 12. 2012, 13:10:57 »
Nerozumieme sa, zle som sa vyjadril. Uzivatelia, ktori tam nahravaju subory maju windowsy, tam subory ktore sa modifikuju alebo vytvoria v tomto prostredi su v cp1250. Tento subor nahraju na server a server ho nevie spravne citat, kedze pozna len utf-8. cp-1250. Mozno keby som ich namountoval ako cp1250 slo by to, lenze problem je ze  na danom disku su aj cp1250 a utf-8. Takze najvhodnejsie by bolo vyhladat a prekonvertovat nazvy suborov z cp1250 do utf8. Ten convmv to robi presne ako si predstavujem problem je ze nevie zobrazit š a č a prepise ich nespravne.
Viete pomoct ako prekonvertovat cp1250 do utf8 a zobrazit vsetko spravne vratane š a č?

Pavel 'TIGER' Růžička

Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #7 kdy: 21. 12. 2012, 13:27:46 »
Ať to popisuješ jak to popisuješ, pořád to vypadá na špatně nastavenou sambu. Pokud je správně nastavenéné kódování s cmb.conf, tak je naprosto jedno, jestli ukládá na disk, kde je utf-8 či iso-8859-2 ... české znaky se musí zobrazit prostě správně. Na zbytku disku můžeš mít soubory i v tom utf-8  a vždy by si u obojího měl vidět diakritiku správně a to jak z Windows, tak z Linuxu.

Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #8 kdy: 21. 12. 2012, 13:32:45 »
samba sluzi len ako read(takze cez sambu sa nic nezapisuje).
Zapisuje sa cez ssh.
Disk som vybral zo servera, pripojil k desktopu(tu mam xubuntu) a znaky sa zobrazuju nespravne. Ako to je mozne?

Pavel 'TIGER' Růžička

Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #9 kdy: 21. 12. 2012, 13:58:24 »
No tak tady bude asi problém v tom ssh. Já ssh používám nad sambou (kde je definována ona konverze kódování), nikdy mne nenapadlo pokusit se o to přímo. No přijde mi to logické, že to nefunguje. Ukládáš CP-1250 do UTF-8 bez koverze, takže výsledkem musí být nesmyslné znaky po uložení. On už prostě špatně ukládá ... to se potom špatně čte. Když to uděláš pře sambu, tak sambě řekneš, před ukládáním převeď do utf-8 a před načtením převeď do CP1250, proto to oba systémy vidí dobře. Jinak předpokládám, že v konzoli na linuxu Ti české znaky funfují správně.


Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #11 kdy: 21. 12. 2012, 14:00:30 »
Nerozumieme sa, zle som sa vyjadril. Uzivatelia, ktori tam nahravaju subory maju windowsy, tam subory ktore sa modifikuju alebo vytvoria v tomto prostredi su v cp1250. Tento subor nahraju na server a server ho nevie spravne citat, kedze pozna len utf-8. cp-1250. Mozno keby som ich namountoval ako cp1250 slo by to, lenze problem je ze  na danom disku su aj cp1250 a utf-8. Takze najvhodnejsie by bolo vyhladat a prekonvertovat nazvy suborov z cp1250 do utf8. Ten convmv to robi presne ako si predstavujem problem je ze nevie zobrazit š a č a prepise ich nespravne.
Viete pomoct ako prekonvertovat cp1250 do utf8 a zobrazit vsetko spravne vratane š a č?
Já myslím, že já ti rozumím dobře. V opačném směru nevím, jestli není nějaký šum :)

Ještě jednou: zapsat název souboru v patřičném kódování musí ta aplikace, která soubory vytváří - protože OS prostě do názvů souborů nezasahuje - jak mu název aplikace předá, tak se zapíše na disk. "Uživatelé zapisují soubory" neznamená nic jiného, že spouští nějaký klientský program, který komunikuje s nějakým serverovým programem, kterému řekne "tady ti posílám soubor stčskrz" - když to "č" zakóduje jako 0x86 a serverový program ho nepřekóduje, tak se na disku vytvoří soubor "str[0x86]skrz". Když ho zakóduje jako 0x87, tak se vytvoří "str[0x87]skrz". Pokud klientský OS zobrazuje 0x86 jako "č" a serverové programy zobrazují 0x86 jako "ž", tak v serverových programech uvidíš soubor "stržskrz" a v klientských uvidíš "strčskrz". Na disku ale každopádně není nic jiného než "str[0x86]skrz".

Čili pokud ti jde opravdu jenom o zápis souborů přes scp z Windows, potom musíš problém řešit na úrovni scp - buď scp server na Linuxu, nebo scp klient na Windows musí názvy souborů správně překódovat. A pokud soubory potom čteš přes sambu, musí názvy zase samba překódovat zpět. OS do toho nijak nemluví a nemá s tím víceméně nic společného (kromě toho, že programům předává default formou locales).

Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #12 kdy: 21. 12. 2012, 14:02:16 »
V konzoel su taktiez znaky nespravne....

Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #13 kdy: 21. 12. 2012, 14:04:39 »
Nerozumieme sa, zle som sa vyjadril. Uzivatelia, ktori tam nahravaju subory maju windowsy, tam subory ktore sa modifikuju alebo vytvoria v tomto prostredi su v cp1250. Tento subor nahraju na server a server ho nevie spravne citat, kedze pozna len utf-8. cp-1250. Mozno keby som ich namountoval ako cp1250 slo by to, lenze problem je ze  na danom disku su aj cp1250 a utf-8. Takze najvhodnejsie by bolo vyhladat a prekonvertovat nazvy suborov z cp1250 do utf8. Ten convmv to robi presne ako si predstavujem problem je ze nevie zobrazit š a č a prepise ich nespravne.
Viete pomoct ako prekonvertovat cp1250 do utf8 a zobrazit vsetko spravne vratane š a č?
Já myslím, že já ti rozumím dobře. V opačném směru nevím, jestli není nějaký šum :)

Ještě jednou: zapsat název souboru v patřičném kódování musí ta aplikace, která soubory vytváří - protože OS prostě do názvů souborů nezasahuje - jak mu název aplikace předá, tak se zapíše na disk. "Uživatelé zapisují soubory" neznamená nic jiného, že spouští nějaký klientský program, který komunikuje s nějakým serverovým programem, kterému řekne "tady ti posílám soubor stčskrz" - když to "č" zakóduje jako 0x86 a serverový program ho nepřekóduje, tak se na disku vytvoří soubor "str[0x86]skrz". Když ho zakóduje jako 0x87, tak se vytvoří "str[0x87]skrz". Pokud klientský OS zobrazuje 0x86 jako "č" a serverové programy zobrazují 0x86 jako "ž", tak v serverových programech uvidíš soubor "stržskrz" a v klientských uvidíš "strčskrz". Na disku ale každopádně není nic jiného než "str[0x86]skrz".

Čili pokud ti jde opravdu jenom o zápis souborů přes scp z Windows, potom musíš problém řešit na úrovni scp - buď scp server na Linuxu, nebo scp klient na Windows musí názvy souborů správně překódovat. A pokud soubory potom čteš přes sambu, musí názvy zase samba překódovat zpět. OS do toho nijak nemluví a nemá s tím víceméně nic společného (kromě toho, že programům předává default formou locales).

Tak este raz sa pytam je mozne cp1250 prekonvertovat do utf-8. Neriesme to ako sa to tam dostalo...ale zaujima ma ako to prekonvertovat, nech to je vsetko utf-8....
Je to vlastne mozne? Dakujem

Pavel 'TIGER' Růžička

Re:Zle zobrazenie ceskych a slovenskych znakov na serveri(samba, ssh...)
« Odpověď #14 kdy: 21. 12. 2012, 14:11:53 »
V konzoli jsou znaky nespravne, to jsem pochopil, ale  pise ti konzole znaky spravne? Jde o to, že jestli i v konzoli ti diakritika píše špatně, můžeš mít špatně nastavené locales pro konzoli a soubory tam mohou mít znaky správně, pak je konverze možná a poměrně jednoduchá.