Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 36918|Odpověď: 2

[.NET Core] Konzole .NET Core zkreslené čínské znaky

[Kopírovat odkaz]
Zveřejněno 17.05.2017 14:44:09 | | | |



Konzolový program .NET Core je velmi jednoduchý, to znamená, že uživatele vyzve k zadání URL a poté zadání URL zadané uživatelem, všichni to na první pohled pochopí, ale čínské znaky jsou zkreslené,

Chyba způsobuje:

'GB2312' není podporované kódovací jméno. Pro informace o definování vlastního kódování viz dokumentace pro metodu Encoding.RegisterProvider.
Název parametru: název

Výše uvedený obecný význam je, že Encoding nepodporuje GB2312 kódování a je potřeba použít metodu Encoding.RegisterProvider k registraci poskytovatele.



Jak to vyřešit?

Řešení 1:

Nastavte textový výstup znaků, které se zobrazí v konzoli Nastavení, pomocí kódování bude aplikován na odpovídající konzoli. Je určeno umístění systému používané výchozí konzolí kódových stránek.



Řešení 2:

1: Použijte metodu Encoding.RegisterProvider k registraci poskytovatele

2: CodePagesEncodingProvider v balíčku System.Text.Encoding.CodePages

3: nuget spustí příkaz: Install-Package System.Text.Encoding.CodePages

4: Přidat kód:










Předchozí:Centos Installation .NET Core Environment Tutorial
Další:Spusťte .net core konzolový program na Linuxu/Centos [zdrojový kód]
 Pronajímatel| Zveřejněno 17.05.2017 14:46:57 |

Rád bych se podělil o svůj názor, důvodem zkreslených znaků na konzoli je, že výchozí kódovací stránka čínského příkazového řádku Windows je GB2312, a pokud chcete vypisovat čínsky, stačí upravit kódovací stránku konzole na Unicode.
Zadejte chcp 65001 do cmd a spusťte program nebo přidejte řádek do programu
Console.OutputEncoding = Encoding.Unicode;
Důvodem zkreslené webové stránky je také to, že program nespecifikuje kódování a používá Unicode ve výchozím nastavení, zatímco prohlížeč v čínském prostředí používá standardně gbk. Můžete prohlížeči říct, aby používal utf8, nastavením ContentType.
Počkáme na kontext. Response.WriteAsync ("Dobrý den, vítejte v Pekingu"); Předcháze:
Kontext. Response.ContentType = "text/plain; Charset=utf-8";
Pokud však zobrazíte čínštinu, nemusíte se odkazovat na System.Text.Encoding.CodePages bez speciálních požadavků
Zveřejněno 12.11.2022 13:40:04 |
Uložte si na pozdější použití
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com