Partager via


Les caractères Katakana et Hiragana de demi-largeur et de demi-largeur sont traités comme différents

Cet article vous aide à résoudre un problème qui se produit lorsque .NET Framework 4.x applications comparent les chaînes japonaises.

S’applique à : Windows 10 version 2004, Windows 10 version 20H2, Windows 10 version 21H1, Windows 10 version 21H2, Windows 10 version 22H2

Symptômes

Certains caractères Katakana et Hiragana à demi-largeur japonais qui ont une marque de consonne ne sont pas interprétés comme le même caractère. Lorsque vous utilisez la CompareInfo.IndexOf méthode et les IgnoreKanaType IgnoreWidth options pour CompareOptions effectuer une comparaison, ces caractères sont évalués comme différents en raison d’un problème dans la règle de tri.

Cause

À compter de la version 2004, Windows 10 a mis à jour la version du support linguistique national (NLS) vers la version 6.3 et a ajouté la prise en charge de l’arabe et de l’hébreu. Cet ajout affecte les règles de tri des comparaisons de chaînes japonaises qui utilisent NLS afin que les comparaisons produisent des résultats différents.

Solution de contournement

Avertissement

De graves problèmes peuvent se produire si vous modifiez le Registre de façon incorrecte. Ces problèmes peuvent vous amener à réinstaller le système d’exploitation ou même à empêcher votre ordinateur de démarrer. Microsoft ne peut pas garantir que ces problèmes peuvent être résolus. Avant de le modifier, sauvegardez le Registre afin de pouvoir le restaurer en cas de problème. Vous modifiez le Registre à vos propres risques.

Solution de contournement 1

Rétablissez la règle de tri NLS vers la version 6.2. Cette version est utilisée dans Windows 10, version 1909 et versions antérieures. Lorsque vous devez partager des données entre les systèmes, envisagez d’appliquer la solution de contournement de manière cohérente. Si vous utilisez cette solution de contournement, effectuez suffisamment de tests et d’évaluations pour atténuer les problèmes causés par différentes versions de règle de tri sur plusieurs systèmes.

Pour utiliser cette solution de contournement, procédez comme suit :

  1. Ouvrez une fenêtre d’invite de commandes (cmd.exe) en tant qu’administrateur.

  2. Exécutez la commande suivante :

    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Sorting\Versions /ve /d 0006020F /f

  3. Redémarrez l’ordinateur ou les processus pour voir l’effet complet.

Important

Si vous n’avez pas installé KB4586853 ou une mise à jour ultérieure sur l’ordinateur, la définition d’une valeur non valide dans cette entrée de Registre peut empêcher le démarrage de l’ordinateur.

Solution de contournement 2

Définissez la règle de tri NLS sur la version 6.4. Cette version est utilisée dans Windows 11. Pour ce faire, vous devez appliquer KB5014023 ou une mise à jour ultérieure, puis mettre à niveau la version vers la version 1741 ou une version ultérieure. Dans ce cas, la version 22H2 est déjà appliquée et ne doit pas être mise à jour.

  1. Appliquez KB5014023 ou une mise à jour ultérieure pour Windows 10 versions 2004, 20H2, 21H1 et 21H2.

  2. Ouvrez la fenêtre d’invite de commandes (cmd.exe) en tant qu’administrateur.

  3. Exécutez la commande suivante :

    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Sorting\Versions /ve /d 00060403 /f

  4. Redémarrez l’ordinateur ou les processus pour voir l’effet complet.