Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 36918|Odpowiedź: 2

[.NET Core] Zniekształcone znaki znaków chińskich w konsoli .NET Core

[Skopiuj link]
Opublikowano 17.05.2017 14:44:09 | | | |



Program konsolowy .NET Core jest bardzo prosty, czyli prosi użytkownika o wpisanie adresu URL, a następnie wpisanie URL-a przez użytkownika, wszyscy zrozumieją to od razu, ale znaki chińskie są zniekształcone,

Błąd powoduje:

'GB2312' nie jest obsługiwaną nazwą kodowania. Aby uzyskać informacje o definiowaniu kodowania niestandardowego, zobacz dokumentację dotyczącą metody Encoding.RegisterProvider.
Nazwa parametru: nazwa

Powyższe ogólne znaczenie jest takie, że kodowanie nie obsługuje kodowania GB2312 i musisz użyć metody Encoding.RegisterProvider, aby zarejestrować Providera.



Jak to rozwiązać?

Rozwiązanie 1:

Ustaw wyjście tekstowe znaków wyświetlanych przez konsolę Ustawień za pomocą kodowania, które zostaną zastosowane do odpowiedniej konsoli. Lokalizacja systemu używana przez domyślną konsolę strony kodowej jest określana.



Rozwiązanie 2:

1: Użyj metody Encoding.RegisterProvider do rejestracji dostawcy

2: CodePagesEncodingProvider w pakiecie System.Text.Encoding.CodePages

3: nuget wykonuje polecenie: Install-Package System.Text.Encoding.CodePages

4: Dodaj kod:










Poprzedni:Centos Installation .NET Core Environment Tutorial
Następny:Uruchom program konsolowy .net core na Linuksie/Centos [kod źródłowy]
 Ziemianin| Opublikowano 17.05.2017 14:46:57 |

Chciałbym podzielić się swoją opinią, powodem zniekształconych znaków na konsoli jest to, że domyślna strona kodowania chińskiego wiersza poleceń Windows to GB2312, a jeśli chcesz wyświetlać po chińsku, wystarczy zmodyfikować stronę kodowania konsoli na Unicode.
Wpisz chcp 65001 w cmd i uruchom program lub dodaj linię do programu
Console.OutputEncoding = Encoding.Unicode;
Powodem zniekształconej strony internetowej jest także fakt, że program nie określa kodowania i domyślnie używa Unicode, podczas gdy przeglądarka w chińskim środowisku domyślnie używa gbk. Możesz polecić przeglądarce użycie utf8, ustawiając ContentType.
Czekam na kontekst. Response.WriteAsync ("Witajcie, witamy w Pekinie"); Poprzedzono:
kontekst. Response.ContentType = "tekst/zwykły; Charset=utf-8";
Jednak jeśli wyświetlasz chiński, nie musisz odwoływać się do System.Text.Encoding.CodePages bez specjalnych wymagań
Opublikowano 12.11.2022 13:40:04 |
Zachowaj na późniejsze wykorzystanie
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com