Ciao sandro, risposta chiarissima.. Avevo sperato di non aver creato un ibrido mostruoso... :-)
Mi ci metterò di buona lena.. Grazie Matteo Il giorno 11/feb/2015 18.45, <a.furi...@lqt.it> ha scritto: > Ciao Matteo, > > il probeblema del charset non e' poi troppo complesso, basta solo > avere ben presente come funziona. > > nella notte dei tempi (prima di MS-DOS) c'era solo ASCII (o piu' > di preciso l'US-ASCII); funzionava benissimo, ma poteva codificare > solo ed esclusisavamente l'alfabeto anglo-americano: lettere > maiuscole e minuscole, numeri, parentesi ed interpuzioni. > gia' le vocali accentante italiane erano escluse. > > con MS-DOS arrivano le "code pages"; nascono cosi' un visibilio > di nuovi charsets nazionali: c'e' quello tedesco con gli umlaut, > quello latino con le vocali accentate, quello cirillico, graco, > ebraico etc. > restano ancora fuori le lingue asiatiche (cinese e giapponese), > perche' non sono alfabatiche ma sillabiche; hanno decine di migliaia > di simboli ed in un solo byte non ci stanno proprio. > naturalmente nasce anche una enorme confusione, perche' a questo > punto il medesimo byte puo' significare tante lettere diverse; > per conservare fedelmente le informazioni occorre sempre sapere > con estrema precisione quale particolare tabella dei caratteri > deve essere utilizzata. > > in tempi piu' recenti finalmente arrivano i charsets universali: > tipicamente Unicode ed UTF-8; questi finalmente ti consentono > di scrivere assieme in una medesima stringa parole latine, ebraiche, > arabe, cirilliche e persino cinesi e giapponesi. > > Giusto per facilitarci la vita, Linux e Mac (e piu' o meno tutti > gli Unix) scelgono UTF-8; Windows invece sceglie Unicode. > ma Windows fatica persino a recepire Unicode, e per lungo tempo > preferisce continuare a basarsi su tanti charset nazionali > distinti: Latin-1, Latin-2, Arabic, Cyrillic etc > System non e' affatto un charset: significa semplicemente > "quello normale della piattaforma"; ergo Latin-1 sulle istallazioni > italiane, Cyrillic in quelle russe etc > e nota bene: i charsets di Windows non sono affatto i "code pages" > di ms-dos anche se spesso il nome e' identico; tecnicamente sono > diversi (ed ovviamente incompatibili). > > veniamo ora finalmente al problema shapefile/spatialite. > sqlite internamente memorizza tutte le stringhe di testo in UTF-8, > quindi e' in grado di gestire qualsiasi lingua nota. > ma quando importi/esporti uno shapefile devi sempre specificare > esattamente quale charset deve essere utilizzato per convertire > i caratteri; se sbagli ottieni errori, ma piu' facilmente ancora > ottieni stringhe bizzarre ed illeggibili. > > > Ora, avendo bisogno di mostrare le etichette dei nomi delle città in >> QGIS, a volte ho modificato a mano la colonna del nome interessato >> trasformando il cirillico in caratteri latini leggibili. >> >> > temo che la "chiave del mistero" si nasconda proprio qua; in > questo modo hai probabilmente creato un mostro, cioe' un DBF > in cui alcune strignhe sono codificate in Latin-1, mentre altre > sono invece codificate in Cyrillic. > visto che spatialite (e qualunque altro sw a me noto) partono > sempre dal presupposto che tutto il file per intero adotti solo > una singola codifica, ora qualunque filtro charset fallira': > se gli dici che e' Latin-1 verranno sbagliate tutte le scritte > in Cirillico; se gli dici che e' Cyrillic verranno sbaglate > tutte le scritte latine; non se ne esce :-D > > nota bena: e' un papocchio tipico degli Shapefile su cui sono > state fatte modifiche "a mano"; per rimettere tutto a posto > esiste un unico modo: olio di gomito e correggere manualmente > e con santa pazienza tutte le inconsistenze una alla volta, > fino a che si riesce a riportare tutto il DBF in un singolo > charset. > > auguri ed in bocca al lupo > Sandro > _______________________________________________ > Gfoss@lists.gfoss.it > http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss > Questa e' una lista di discussione pubblica aperta a tutti. > I messaggi di questa lista non hanno relazione diretta con le posizioni > dell'Associazione GFOSS.it. > 666+40 iscritti al 5.6.2014
_______________________________________________ Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014