Szybka odpowiedź: system Windows używa tego ustawienia jako wskazówki do konwersji między starszymi 8-bitowymi znakami ASCII i nowoczesnymi 16-bitowymi znakami Unicode. Niektóre aplikacje nadużywają tego ustawienia, aby określić, który język interfejsu użytkownika powinien zostać wyświetlony.
Traktowanie plików tekstowych jest specyficzne dla aplikacji, więc to ustawienie nie wpłynie na to.
Nie do końca prawda. Oto kilka przykładów: (po ustawieniu na język koreański dla programów nieobsługujących kodu Unicode „\” (odwrotny ukośnik) jest zastępowany przez „₩” (symbol waluty koreańskiej))
- W wielu aplikacjach wszystkie „\” pojawiają się jako „₩”. Spójrz na gVim (edytor tekstu). Uwaga: podstawowe dane są nadal takie same, jak w przypadku wyświetlenia „\”. Jeśli otworzysz ten plik na innym komputerze, ponownie będzie wyglądał jak „\”.
- Wszystkie ścieżki plików są rozdzielane przez „₩”.
- Niektóre aplikacje, takie jak sterowniki wideo Intela, pobierają to ustawienie, aby zdecydować, który język interfejsu użytkownika ma być wyświetlany.
Podstawowe informacje:
System Windows służył do przechowywania ciągów z 8-bitowymi znakami ASCII. Oznacza to, że każdy znak używał 8 cyfr binarnych. To pozwoliło tylko na 256 różnych znaków; za mało, aby reprezentować wszystkie pisane języki świata. Dlatego różne regiony językowe postanowiły interpretować znaki 8-bitowe inaczej, aby pasowały do ich własnego języka (dodając akcentowane samogłoski, własny znak waluty oprócz „$” itp.). Nazywa się to kodowaniem. Aplikacje muszą wyraźnie informować system Windows, którego kodowania użyć; wiele programów tego nie robi, więc system Windows zakłada lokalne kodowanie dla tej wersji systemu Windows.
Teraz Windows przechowuje ciągi znaków z 16-bitowymi znakami Unicode. Każda postać używa dwa razy więcej bitów. Pozwala to na (prawie) 65 536 różnych znaków. Wciąż za mało, aby reprezentować wszystkie pisane języki świata, ale Unicode określa również sposób wybierania określonych zestawów znaków z dużo szerszej puli znaków.
Co teraz robi system Windows, gdy działa stary program, który nie zna Unicode? Windows musi przekonwertować między 8-bitowymi znakami ASCII i 16-bitowymi znakami Unicode. Windows może to zrobić całkiem dobrze, jeśli starsza aplikacja wyraźnie określa kodowanie, ale wiele aplikacji tego nie robi. Zatem Windows domyślnie przyjmuje ustawienie: Język dla programów nieobsługujących kodu Unicode.
Edycja: odpowiadanie na komentarze Jozuego
Więc oprócz wyboru kodowania ciągów GUI, to ustawienie może wpływać na wybór czcionek (wydaje mi się, że ₩ jest po prostu reprezentacją czcionki dla czegoś, co pojawia się jako odwrotny ukośnik w czcionkach europejskich, nie?)
Tak i nie. Występuje coś, co nazywa się „ łączeniem czcionek ”, aby wyświetlać „₩”, gdy czcionka TrueType nie zawiera tego znaku. Tylko „₩” jest wyświetlane inną czcionką. Jednak w przypadku czcionek innych niż TrueType używana jest zupełnie inna czcionka (na przykład w konsoli cmd). Symbole walut są bardzo szczególnym przypadkiem. System Windows wykonuje dodatkową pracę, zastępując symbol „\” symbolem lokalnej waluty, aby zachować zachowanie poprzednich wersji systemu Windows.
Czcionki systemu Windows są również zmieniane za pomocą czegoś zwanego „ zastępowaniem czcionek ”. W takim przypadku czcionki systemowe są całkowicie zastępowane nową czcionką (chociaż nazwa czcionki pozostaje taka sama). Z mojego doświadczenia z koreańskimi ustawieniami narodowymi nowa podstawiona czcionka nie wygląda tak ładnie jak oryginalna czcionka.
Czy to ustawienie wpływa na coś jeszcze?
Miałem rzadkie doświadczenia, w których używanie koreańskich ustawień narodowych powodowało nieprawidłowe działanie aplikacji. Jedna aplikacja, którą pamiętam, była narzędziem podglądu wyrażeń regularnych. Po prostu nie dało to prawidłowych wyników, gdy w koreańskich ustawieniach narodowych (a może nawet by się nie uruchomiło?) Musiałem przełączyć się na ustawienia amerykańskie, ilekroć chciałem używać tego programu.