Condividi tramite


Nozioni fondamentali su Unicode

Data aggiornamento: 17 luglio 2006

L'archiviazione di dati in lingue diverse all'interno di un singolo database presenta difficoltà di gestione se si utilizzano solo dati di tipo carattere e tabelle codici. È difficile individuare per il database una singola tabella codici che contenga tutti i caratteri necessari specifici della lingua. È inoltre difficile garantire che i caratteri speciali letti o aggiornati da client diversi che eseguono tabelle codici diverse vengano convertiti correttamente. È consigliabile che i database che supportano client internazionali utilizzino sempre tipi di dati Unicode anziché tipi di dati non Unicode.

Ad esempio, un database di clienti residenti in Nord America gestisce tre lingue principali:

  • Nomi e indirizzi in spagnolo per il Messico.
  • Nomi e indirizzi in francese per il Quebec.
  • Nomi e indirizzi in inglese per il resto del Canada e gli Stati Uniti.

Se vengono utilizzate solo colonne di tipo carattere e tabelle codici, è necessario verificare che il database sia installato con una tabella codici in grado di gestire i caratteri delle tre lingue. È inoltre necessario garantire che i caratteri di una delle tre lingue letti dai client che eseguono una tabella codici di un'altra lingua vengano convertiti correttamente.

Con l'espansione di Internet, la possibilità di supportare molti computer client con impostazioni internazionali diverse assume un'importanza sempre maggiore. È difficile selezionare una tabella codici per i dati di tipo carattere in grado di supportare tutti i caratteri necessari per gli utenti di tutto il mondo.

Il modo più semplice per gestire dati di tipo carattere in database internazionali consiste nell'utilizzare sempre i tipi di dati Unicode nchar, nvarchar e nvarchar(max) anziché gli equivalenti non Unicode char, varchar e text.

Unicode è uno standard per il mapping dei punti di codice ai caratteri. È progettato per supportare tutti i caratteri di tutte le lingue del mondo, pertanto non è necessario che set di caratteri diversi vengano gestiti da tabelle codici diverse. SQL Server 2005 supporta lo standard Unicode, versione 3.2.

Se tutte le applicazioni che utilizzano database internazionali utilizzano inoltre variabili Unicode anziché variabili non Unicode, la conversione dei caratteri non sarà mai necessaria. Tutti i client visualizzeranno esattamente gli stessi caratteri.

In SQL Server 2005 tutti i dati di testo del catalogo di sistema vengono archiviati in colonne con tipi di dati Unicode. I nomi degli oggetti di database, ad esempio tabelle, viste e stored procedure, vengono archiviati in colonne Unicode. In questo modo è possibile sviluppare le applicazioni utilizzando solo Unicode ed evitando quindi tutti i problemi relativi alle conversioni delle tabelle codici.

Vedere anche

Concetti

Utilizzo dei dati Unicode
Archiviazione di dati Unicode ed effetti sulle prestazioni

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Contenuto modificato:
  • Sostituzione del riferimento al tipo di dati ntext con il tipo di dati nvarchar(max).