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