Condividi tramite


Caratteri supplementari

Data aggiornamento: 12 dicembre 2006

In SQL Server 2005 viene utilizzato uno schema di codifica UCS-2 per codificare i caratteri Unicode in formato binario. In alcune lingue, ad esempio il cinese, vengono definiti caratteri aggiuntivi che vengono utilizzati più raramente e non sono inclusi nello standard Unicode. Questi caratteri, detti caratteri supplementari, sono archiviati nello schema di codifica UCS-2 come due caratteri non definiti che, quando accoppiati, definiscono un carattere supplementare nell'archivio. In questo modo, in SQL Server i caratteri supplementari vengono archiviati senza rischio di perdita o danneggiamento. SQL Server 2005 consente inoltre di utilizzare e visualizzare i caratteri supplementari in qualsiasi applicazione basata su SQL Server, incluse le applicazioni basate sugli strumenti, ad esempio Business Intelligence.

Quando si utilizza Microsoft IME (Input Method Editor) per Windows Vista o Microsoft Office 2007, i caratteri supplementari sono rappresentati da punti di codice UCS U+10000 o superiori.

Quando si utilizzano i caratteri supplementari, considerare i limiti seguenti:

  • I caratteri supplementari possono essere utilizzati in operazioni di ordinamento e confronto solo con le versioni 90 delle regole di confronto. Questi confronti sono basati solo su punti di codice e non su altri elementi significativi dal punto di vista linguistico. Prestare attenzione quando si utilizzano i caratteri supplementari in operazioni quali ORDER BY, GROUP BY e DISTINCT e in particolare quando nella stessa operazione sono inclusi caratteri supplementari e non supplementari. Le versioni 90 delle regole di confronto sono indicate dalla presenza del suffisso 90 nel nome. Al posto della regola di confronto Japanese, utilizzare ad esempio Japanese_90. Per ulteriori informazioni, vedere Impostazioni delle regole di confronto durante l'installazione.
  • Poiché i caratteri supplementari sono archiviati in coppie di caratteri DBCS, la funzione LEN() restituisce il valore 2 per ogni carattere supplementare contenuto nella stringa di argomento. Analogamente, le funzioni CHARINDEX e PATINDEX rappresentano in modo erroneo la presenza di caratteri supplementari all'interno delle stringhe di caratteri, e la funzione NCHAR restituisce un carattere che rappresenta solo una metà della coppia di caratteri supplementari. Anche la conversione di un valore binary o varbinary in un carattere supplementare produce solo una metà di una coppia di caratteri supplementari.
  • Le funzioni LEFT, RIGHT, SUBSTRING, STUFF e REVERSE possono dividere qualsiasi coppia di caratteri supplementari, provocando risultati imprevisti.
  • L'utilizzo dei caratteri supplementari con i caratteri jolly di sottolineatura (_), spazio ( ) e accento circonflesso (^) non è supportato.
  • L'utilizzo dei caratteri supplementari in metadati, ad esempio in nomi di oggetti di database, non è supportato.
  • A causa dello speciale meccanismo di archiviazione, la presenza di caratteri supplementari può comportare l'utilizzo di risorse aggiuntive durante le operazioni di aggiornamento di server e database.

In SQL Server 2005 è disponibile un esempio che illustra l'elaborazione delle stringhe con supporto per i caratteri supplementari in una funzione CLR (Common Language Runtime). Per ulteriori informazioni, vedere Manipolazione di stringhe contenenti caratteri aggiuntivi.

Vedere anche

Concetti

Utilizzo di codifiche dei caratteri speciali

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

12 dicembre 2006

Nuovo contenuto:
  • Aggiunta di chiarimenti su come determinare se un carattere rappresenta un carattere supplementare.