In un ambiente in cui i contenuti vengono salvati su Sql Server e poi inseriti nelle pagine web si incappa per forza in problemi di codifica dei caratteri. Ci sono molte entità in gioco:
- chi scrive le pagine del sito web utilizzando un editor di testo
- l'editore che scrive i contenuti utilizzando l'editor integrato nel content management
- Il server web
- il database
- l'utente che visualizza la pagina web nel suo browser
Dopo varie prove sono riuscito a stilare LA procedura:
- Ho configurato sulla Header delle pagine del sito la codifica UTF-8
- Ho salvato il file Header.asp con codifica UTF-8! Attenzione questo punto è molto importante perchè all'inizio nonostante avessi configurato utf-8 continuavo a vedere il carattere accentato in modo errato. Noto ora che il salvataggio in UTF-8 si rende indispensabile solo quando nel file sorgente sono presenti caratteri "strani" come ad esempio una semplice "è".
- Su database memorizzo le informazioni in campi ntext o nvarchar
Sono sicuro che ci sono altre combinazioni possibili. Questa ha il difetto che devo ricordarmi di salvare i file asp con codifica UTF-8, altrimenti la pagina viene inviata al client con una codifica diversa!
Articoli che mi hanno aiutato nell'impresa.
Da Microsoft:
Description of storing UTF-8 data in SQL ServerUn articolo esausitvo circa la codifica Unicode:
http://www.joelonsoftware.com/articles/Unicode.htmlDal W3C:
http://www.w3.org/International/O-HTTP-charsethttp://www.w3.org/International/tutorials/tutorial-char-enc/Uni-Cloud - Le FAQ relative alle problematiche di questo articolo:
http://unicode.thecloud.org/html/modules/xoopsfaq/index.php?cat_id=3