UTF8 e dintorni, charset nei siti internet

Marzo 8th, 2011

Prima o poi arriva il momento di capire come funzionano i charset nei siti internet.
Internet è un villaggio globale dove convergono culture e soprattutto lingue e caratteri sconosciuti, chi sviluppa siti internet si troverà prima o poi ad affrontare questo problema, un piccolo problema che se non affrontato seriamente può diventare un delirio.
Diciamo subito che la soluzione a questi problemi è composto da sole 4 lettere: UTF8.
Se cercate su internet potete trovare tutte le codifiche ISO, WIN… che consentono di interpretare charset specifici, il problema di questi charset è che non risolvono completamente tutti linguaggi, proprio in UTF8 troviamo invece l’interpretazione di tutti i charset mondiali.

Vediamo di capire ora come impostare correttamente UTF8 in un sito. Sembra semplice ma personalmente ho impiegato una settimana per individuare la strada corretta.
Per inquadrare la mia casistica premetto che uso asp classic, firebird 2.5, come database e ibprovider come driver, il tutto su windows 2008 server IIS7.5.

Prima di tutto impostiamo il charset della pagina, se usiamo dreamweaver impostata su asp Classic utf 8, ci accorgiamo che nella pagina sarà aggiunta aggiunta … E … Questo consente di far codificare all’interprete asp e HTML i caratteri correttamente.

Bene a questo punto non ci manca che passare al db, con firebird dalla versione 2.0 possiamo lavorare tranquillamente in UTF8.
La codifica del db è fondamentale per impostare come i dati saranno memorizzati, è importante settare UTF8 in fase di creazione del db (di default viene impostato NONE), cambiare successivamente la codifica diventa un’operazione complessa. Personalmente ho risolto usando ibexpert (in una delle ultime versioni che a differenza di quelle precedenti non crea più quei problemi di compatibilità su UTF8 che sfociavano in ‘malformed string’) ricreando script SQL per struttura e dati, modificando poi manualmente lo script affinché il db venga riscritto in UTF8.
A livello di db abbiamo un’altro concetto associato ai charset, il callapse. Differenti lingue hanno oltre a set di caratteri aggiuntivi anche regole di upper e di ordinamento particolari, questo è definito dal collapse, io ho impostato UTF8, una lista completa è disponibile sui referenze di firebird.

Una nota importante se volete collegare via odbc fb su ms access, usare SEMPRE E SOLO CHIAVI PRIMARIE NUMERICHE. Access non riconosce correttamente (uso 2010) le chiavi primarie di fb via linked table odbc, per farlo oltre a inserire la chiave, impostare l’indice della stessa chiave numerica facendo in modo che l’indice creato abbia un nome in ordine alfabetico crescente.

Bene a questo punto dobbiamo collegare il db con le asp e per farlo usiamo il provider, io uso ibprovider 64 bit. Nella connection string è fondamentale impostare la codifica, in teoria si dovrebbe inserire UTF8, io uso ACP e funziona tutto perfettamente.

Spero di avervi aiutato, sono tutte cose che sembrano semplici e ovvie ma quando si tratta di inserire caratteri cinesi, russi o danesi dentro un form vi potrà capitare di cadere in un tunnel infinito come è capitato a me… Ma come tutte le cose, l’importante è che finiscano bene

Iphone 4 os 4.1

Settembre 9th, 2010

Appena aggiornato iphone4 e iphone 3gs su os 4.1.
Si nota un miglioramento della velocità di apertura applicazioni del 20%-30% circa su entrambi i telefoni.
Il game center, ha una procedura di attivazione bruttarela con verifica utenza neanche ottimizzata per iPhone, poi sinceramente non ne capisco l’utilità, ma sicuramente hanno visto più ‘lungo’ loro.
Hdr, disponibile solo su iphone 4, attivando disattiva il flash… con il buio non si nota differenza. Attendo il sole di domani per testarlo.
Da uno sguardo veloce non noto ulteriori variazioni.