Udostępnij za pośrednictwem


Znaki Katakana o pełnej szerokości i pełnej szerokości oraz Hiragana z znakami spółgłoskami są traktowane jako różne

Ten artykuł ułatwia rozwiązanie problemu występującego w przypadku programu .NET Framework 4.Aplikacje x porównują japońskie ciągi.

Dotyczy: Windows 10 w wersji 2004, Windows 10 w wersji 20H2, Windows 10 w wersji 21H1, Windows 10 w wersji 21H2, Windows 10 w wersji 22H2

Objawy

Niektóre japońskie znaki Katakana i Hiragana o pełnej szerokości, które mają znak spółgłoski, nie są interpretowane jako ten sam znak. W przypadku użycia CompareInfo.IndexOf metody i IgnoreKanaType opcji lub IgnoreWidth w CompareOptions celu porównania te znaki są oceniane jako różne z powodu problemu z regułą sortowania.

Przyczyna

Począwszy od wersji 2004, system Windows 10 zaktualizował wersję national language support (NLS) do wersji 6.3 i dodał obsługę języka arabskiego i hebrajskiego. Ten dodatek ma wpływ na reguły sortowania japońskich porównań ciągów, które używają nlS, aby porównania wygenerowały różne wyniki.

Rozwiązanie

Ostrzeżenie

Niepoprawne zmodyfikowanie rejestru może być przyczyną poważnych problemów. Te problemy mogą spowodować, że konieczne będzie ponowne zainstalowanie systemu operacyjnego, a nawet uniemożliwienie uruchamiania maszyny. Firma Microsoft nie może zagwarantować, że rozwiązanie tych problemów będzie możliwe. Przed zmodyfikowaniem rejestru należy utworzyć jego kopię zapasową, aby móc przywrócić rejestr na wypadek problemów. Modyfikujesz rejestr na własną odpowiedzialność.

Obejście 1

Przywróć regułę sortowania NLS do wersji 6.2. Ta wersja jest używana w systemie Windows 10 w wersji 1909 i starszych. Jeśli musisz udostępniać dane między systemami, rozważ spójne stosowanie obejścia. Jeśli używasz tego obejścia, wykonaj wystarczające testy i oceny, aby rozwiązać problemy spowodowane przez różne wersje reguł sortowania w wielu systemach.

Aby użyć tego obejścia, wykonaj następujące kroki:

  1. Otwórz okno wiersza polecenia (cmd.exe) jako administrator.

  2. Uruchom następujące polecenie:

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

  3. Uruchom ponownie komputer lub procesy, aby zobaczyć pełny efekt.

Ważne

Jeśli nie zainstalowano KB4586853 lub nowszej aktualizacji na komputerze, ustawienie nieprawidłowej wartości w tym wpisie rejestru może uniemożliwić uruchomienie komputera.

Obejście 2

Ustaw regułę sortowania NLS na wersję 6.4. Ta wersja jest używana w systemie Windows 11. W tym celu należy zastosować KB5014023 lub nowszą aktualizację oraz uaktualnić wersję do wersji 1741 lub nowszej. W takim przypadku wersja 22H2 jest już stosowana i nie musi być aktualizowana.

  1. Zastosuj KB5014023 lub nowszą aktualizację dla systemu Windows 10 w wersji 2004, 20H2, 21H1 i 21H2.

  2. Otwórz okno wiersza polecenia (cmd.exe) jako administrator.

  3. Uruchom następujące polecenie:

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

  4. Uruchom ponownie komputer lub procesy, aby zobaczyć pełny efekt.