Portál AbcLinuxu, 10. května 2025 01:02

Dotaz: znakove sady v heterogenim prostredi

30.12.2003 23:49 Jan
znakove sady v heterogenim prostredi
Přečteno: 81×
Odpovědět | Admin
server - suse 7+,8+, jadra odpovidajici distribuci. Software s vlastni databazi - trideni pres strcoll. Pokusy jsem zjistil, ze na serverech musi byt pro spravne ceske trideni LC_COLLATE=cs_CZ. Pritom se pouziva znakova sada iso-lat-2, coz jsem ovsem nikde nenastavoval, to uz je patrne tak. V siti jsou i win-clienti, kteri maji zn. sadu cp1250. Nechtel jsem pri prenosu dat vzdy transformovat rozdilne znaky. Jedno z moznych reseni by bylo LC_COLATTE=cs_CZ.CP1250 na serveru, ale to nefunguje. Na druhe strane je vyhodou, ze na serveru jsou ceske ghost. fonty pro iso-lat-2, takze tvorba dokumentu v ghostscr. nebo pdf je pomoci servrovych dat (iso-lat-2) v pohode.

Presto bych se rad zeptal, jak to resi ostatni. Treba jsem neco prehledl, a mohl bych si tu transformaci usetrit. Samozrejme, ze bych pak potreboval CP1250 linuxove fonty na serveru?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.12.2003 03:13 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše znakove sady v heterogenim prostredi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Z tvého dotazu není moc jasné, co tam ti win klienti vlastně dělají, tj. co za data by bylo třeba konvertovat tam [a zpět]. Takhle mi to přijde, že konverze mezi serverem a klientem je jednodušší než rozcházení CP1250 na Linuxu. Pokud např. jen data přijímají, tak by jim mohla znaková sada často být jedno... Dlouhodobé řešení je vykopat za městem velké jámy a tam naházet těla těch, co nepoužívají Unicode ;-) ale to je zase o něčem jiném...
31.12.2003 13:19 Jan
Rozbalit Rozbalit vše znakove sady v heterogenim prostredi
ano, ten win-client data prijme, uzivatel neco doedituje nebo zmeni a data jdou zpet k ulozeni na serveru. Z tve odpovedi jsem ale vyrozumel, (a to jsem chtel vedet), ze rozchodit win1250 na linuxu neni tak jednoduche. Ta konverze se sice casove trochu projevi, ale to neni to nejhorsi. To ceske trideni (delam to prvne) vyzaduje znacne casu (oproti ascii trideni), protoze pouzivam hodne indexu v databazi. Je to jen muj subjektivni pocit (P166) nebo je to vzdy citelne? Co se unicode tyce, u 10 let starych programu se to proste neda na 2-byte prepsat. Navic je v pouziti perl, a to jsi psal myslim jinde - to je jeste problem.
31.12.2003 13:54 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše znakove sady v heterogenim prostredi
Správné české třídění bude vždy znatelně pomalejší než ASCII třídění, protože jde o podstatně složitější algoritmus -- musí správně třídit ch, musí řešit, že ,á` se liší od ,a` až na sekundární úrovni, takže sice a < á, ale násoska < naše, etc. Rychlost počítače je jen konstanta, kterou se to násobí... Konverze mezi win1250 a latin2 by neměla zdržovat prakticky vůbec (ve srovnání např. s I/O operacemi), napíše-li se slušně -- tj. v C a in-place. Složitost rozchození win1250 na Linuxu záleží na tom, co všechno chceš rozchodit... např. databáze mají svoje vlastní třídící (i konverzní) rutiny, nevím, co používáš za databázi a jak je na tom s podporou win1250; vytváření nějakých PDF -- co já vím, jak je děláš? Kdyby to bylo např. TeXem, tak ten to umí překódovat sám... Obecně: jde o to, abys musel zasahovat do co nejméně věcí. Což je v případě dobře napsané aplikace přidání konverze. Pokud by to bylo hodně problematické, začal bych teprve zvažovat předělání všeho na win1250 v Linuxu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.