Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Chyba uvedená ve výstupu konzoly příkazového řádku, kde se změnila kódování celé konzoly na UTF-8, způsobená změnou kompilace .NET SDK, byla opravena. Kódování konzoly už není UTF-8 poté, co sada .NET SDK vykoná příkaz. Je možné, že se uživatelé na toto chování spoléhají, proto se jedná o zásadní změnu.
Sada .NET SDK navíc ve starších verzích Windows 10, které ho plně nepodporují, nemění kódování na UTF-8.
Předchozí chování
- Sada SDK změnila kódování terminálu po spuštění příkazu, jako je například
dotnet build. - Sada SDK použila kódování UTF-8 k správnému vykreslení neanglických znaků, a to i ve verzích Windows 10, které oficiálně nepodporují UTF-8. Chování bylo u těchto verzí nedefinováno.
Nové chování
- Sada SDK po ukončení jiných programů nezmění kódování terminálu.
- Sada SDK už ve výchozím nastavení nepoužívá UTF-8 pro verze Windows, které ji nepodporují.
Verze byla představena
7.0.3xx .NET 8 Preview 3
Typ zásadní změny
Tato změna může ovlivnit binární kompatibilitu. Jedná se také o změnu chování.
Důvod změny
Došlo k chybě, kdy sada .NET SDK ovlivnila kódování v konzole pro jiné programy. To byla chyba, která byla opravena, což vedlo k této zásadní změně.
Starší verze Windows 10 (tedy verze před aktualizací z listopadu 2019) nepodporují UTF-8, takže výchozí chování by nemělo používat kódování UTF-8. Místo toho je teď k dispozici výslovný souhlas.
Doporučená akce
Pokud vaše aplikace potřebuje změnit znakovou stránku ve Windows, může spustit proces pro vyvolání chcp příkazu. Vaše aplikace by neměla spoléhat na změnu kódování sadou .NET SDK.
Pro starší verze Windows 10, které oficiálně nepodporují UTF-8, kde chcete, aby sada .NET SDK pokračovala ve změně kódování na UTF-8 pro neanglické jazyky, můžete proměnnou DOTNET_CLI_FORCE_UTF8_ENCODING prostředí nastavit na true hodnotu nebo 1.