Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 13630|Répondre: 0

[Pourboires] Consultez les instructions SQL au format d’encodage SQLserver et aux règles de collation Sqlserver

[Copié le lien]
Publié sur 27/10/2016 12:50:16 | | | |
SÉLECTIONNEZ COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
Voici les résultats de la requête :
GBK chinois simplifié 936
950 Chinois traditionnel BIG5
437 anglais américain/canadien
932 Japonais
949 coréen
866 russe
Unicode 65001 UFT-8




Lors de l’installation de SQL SERVER 2008, parce que nous avions choisi l’installation par défaut, nous l’avons crééLors de la base de données, la règle de tri par défaut choisie par le serveur est une règle de compilation SQL_Latin1_General_CP1_CI_AS, de sorte que lors de l’insertion de texte dans la table de données, elle ne sera pas affichée normalement, tout cela avec « ? à la place.
Ensuite, lorsque nous créons une base de données, nous devons spécifier manuellement une règle de collation, qui peut être sélectionnée comme Chinese_PRC_CI_AS de collation, comme montré dans la figure ci-dessous





Règles de tri :
Les règles de tri utilisées dans SQLSEVER2005 sont SQL_Latin1_General_CP1_CI_AS, et non les trois règles de tri qui peuvent afficher correctement les caractères chinois simplifiés :
Chinese_PRC_BIN,
Chinese_PRC_CI_AS,
Chinese_PRC_CS_AS。
Jetez un œil à l’explication de Microsoft sur la collation : Collation Rules Control Physical Storage of Strings in SQL Server 2005. Les règles de collation spécifient le motif de bits représentant chaque caractère ainsi que les règles pour stocker et comparer l’utilisation des caractères.
C’est-à-dire que dans SQLSERVER, la collation est en fait le codage des caractères.
En exécutant l’instruction suivante dans l’analyseur de requêtes, vous pouvez obtenir toutes les règles de collation prises en charge par SQL SERVER.
sélectionner * depuis ::fn_helpcollations()
Le nom de la collation se compose de deux parties, la première partie fait référence au jeu de caractères supporté par cette collation.
Par exemple : Chinese_PRC_CS_AI_WS
La première moitié concerne le jeu de caractères UNICODE, et Chinese_PRC_refers les règles de tri pour le caractère chinois simplifié UNICODE.
La seconde moitié de la collation est la signification du suffixe :
_BIN Tri binaire
_CI(CS) Qu’il soit sensible aux casse, que le CI ne soit pas sensible, et que le CS soit sensible
_AI (AS) Que ce soit pour distinguer les accents, l’IA ne distingue pas, l’AS distingue
_KI(KS) Que ce soit pour distinguer les types de pseudonymes, KI ne le fait pas, KS distingue
_WI(WS) n’est pas distingué par largeur, WS n’est pas différencié
Sensible à la majuscule : Sélectionnez cette option si vous voulez des comparaisons pour traiter les lettres majuscules et minuscules comme inégales.
Distinguez les accents : Sélectionnez cette option si vous souhaitez des comparaisons pour considérer les lettres accentuées et non accentuées comme inégales. Si vous sélectionnez cette option, la comparaison considère aussi les lettres avec différents accents comme inégales.
Distinguer Kana : Sélectionnez cette option si vous souhaitez la comparaison pour considérer les syllabes Katakana et Hiraka Day comme inégales.
Différenciation de largeur : Sélectionnez cette option si vous souhaitez que la comparaison traite les caractères demi-largeur et pleine largeur comme inégaux.
Après avoir compris les règles de collation dans SQLSERVER, les conclusions suivantes peuvent être tirées pour le problème ci-dessus :
1. Modifier la base de données utilisateur SQLSERVER pour supporter la compilation des jeux de caractères chinois.
2 : Pour l’affichage des caractères chinois??, mais sans modifier les règles de tri dans la base de données, et pour afficher correctement les caractères chinois, il est recommandé d’utiliser tous les champs de type Unicode dans la conception, c’est-à-dire les types de champs commençant par N, tels que nChar, nVarchar, pour afficher correctement les caractères chinois.
3 : Si vous ne souhaitez pas changer la règle de collation ou le type de champ, alors vous devez modifier l’instruction SQL, et pour tous les caractères chinois, vous devez aussi ajouter un N devant pour l’afficher correctement. Veuillez vous référer aux deux affirmations suivantes pour des méthodes spécifiques :
Requête : sélectionnez * depuis tb_Cust où Prénom=N’Wang'
Insérer : insérer tb_Cust (Prénom, Nom, Sexe) valeurs (N’Wang', N’Xinhao', N’Masculin')
Note : Pour l’avenir, il sera plus difficile de modifier la règle de compilation au niveau serveur après SQLSERVER2000, et il sera nécessaire de reconstruire la base de données principale.

Actuellement, pour les bases de données déjà créées, nous pouvons aussi modifier la méthode de compilation dans la page des options de la fenêtre des propriétés de la base de données, afin qu’en insérant du texte dans la table de données, il n’y ait pas de messages d’erreur !





Précédent:SQL détermine si une colonne contient des caractères chinois ou anglais
Prochain:SQL détermine si une colonne contient des caractères chinois ou anglais
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com