Caractères supplémentaires

Mis à jour : 12 décembre 2006

SQL Server 2005 utilise un schéma de codage UCS-2 pour coder les caractères Unicode au format binaire. Certaines langues, comme le chinois, définissent des caractères supplémentaires qui sont moins fréquemment utilisés et ne sont pas inclus dans la norme Unicode. Le schéma UCS-2 stocke ces caractères, appelés caractères supplémentaires, sous la forme de deux caractères Unicode non définis qui, lorsqu'ils sont appariés, forment un caractère supplémentaire disponible. Ainsi, SQL Server stocke des caractères supplémentaires sans risque de perte ou de dommage. En outre, dans SQL Server 2005, vous pouvez utiliser et afficher les caractères supplémentaires dans n'importe quelle application SQL Server, notamment dans les applications basées sur des outils, telles que Business Intelligence.

Lorsque vous utilisez un éditeur IME Microsoft pour Windows Vista ou Microsoft Office 2007, les caractères supplémentaires sont représentés par les points de code UCS U+10000 ou supérieurs.

Lorsque vous utilisez des caractères supplémentaires, tenez compte des contraintes suivantes :

  • Les caractères supplémentaires ne peuvent être utilisés dans des opérations de tri et de comparaison que sur les versions de classement 90. Ces comparaisons sont basées uniquement sur des points de code, pas sur d'autres critères linguistiques significatifs. Soyez attentif lorsque vous utilisez des caractères supplémentaires dans des opérations telles que ORDER BY, GROUP BY et DISTINCT, notamment si elles combinent des caractères supplémentaires et des caractères non supplémentaires. Les versions de classement 90 sont signalées par le suffixe 90 ajouté à leurs noms. Par exemple, au lieu du classement japonais, utilisez Japanese_90. Pour plus d'informations, consultez Paramètres de classement du programme d'installation.
  • Étant donné que les caractères supplémentaires sont stockés sous la forme de paires de caractères codés sur deux octets, la fonction LEN() retourne la valeur 2 pour chaque caractère supplémentaire contenu dans la chaîne d'arguments. De même, les fonctions CHARINDEX et PATINDEX interprètent mal l'occurrence des caractères supplémentaires dans les chaînes de caractères et la fonction NCHAR retourne un caractère qui représente uniquement la moitié de la paire de caractères supplémentaires. La conversion d'une valeur de type binary ou varbinary en un caractère supplémentaire ne génère également que la moitié d'une paire de caractères supplémentaires.
  • Les fonctions LEFT, RIGHT, SUBSTRING, STUFF et REVERSE peuvent scinder n'importe quelle paire de caractères supplémentaires et produire des résultats inattendus.
  • Les caractères supplémentaires ne sont pas utilisables avec les caractères génériques suivants : trait de soulignement (_), espace ( ) et signe insertion (^).
  • Les caractères supplémentaires ne sont pas utilisables dans les métadonnées, telles que les noms d'objets de base de données.
  • En raison de leur mécanisme de stockage unique, la présence des caractères supplémentaires peut accroître la consommation de ressources pendant les opérations de mise à niveau de serveur et de base de données.

SQL Server 2005 fournit un exemple qui illustre, dans une fonction CLR (Common Language Runtime), le traitement d'une chaîne comportant des caractères supplémentaires. Pour plus d'informations, consultez Manipulation de chaînes sensible aux caractères supplémentaires.

Voir aussi

Concepts

Utilisation des codages de caractères spéciaux

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Nouveau contenu :
  • Clarification de la façon de déterminer s'il s'agit d'un caractère supplémentaire.