Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 36918|Antwoord: 2

[.NET Core] .NET Core-console Chinese tekens met verwarde tekens

[Link kopiëren]
Geplaatst op 17-05-2017 14:44:09 | | | |



Het .NET Core-consoleprogramma is heel eenvoudig, dat wil zeggen, het vraagt de gebruiker om een URL in te voeren, en vervolgens de door de gebruiker ingevoerde URL in te voeren; iedereen zal het in één oogopslag begrijpen, maar de Chinese tekens zijn onverstaanbaar,

Foutoorzaken:

'GB2312' is geen ondersteunde coderingsnaam. Voor informatie over het definiëren van een aangepaste codering, zie de documentatie voor de Encoding.RegisterProvider-methode.
Parameternaam: naam

De bovenstaande algemene betekenis is dat Encoding GB2312-codering niet ondersteunt, en je de Encoding.RegisterProvider-methode moet gebruiken om de Provider te registreren.



Hoe los je het op?

Oplossing 1:

Het instellen van de tekstuitvoer van de tekens die door de instellingenconsole worden weergegeven met encoding wordt toegepast op de bijbehorende console. De systeemlocatie die door de standaard codepageconsole wordt gebruikt, wordt bepaald.



Oplossing 2:

1: Gebruik de Encoding.RegisterProvider-methode om de Provider te registreren

2: CodePagesEncodingProvider in het pakket System.Text.Encoding.CodePages

3: nuget voert het commando uit: Install-Package System.Text.Encoding.CodePages

4: Code toevoegen:










Vorig:Centos Installation .NET Core Omgeving Tutorial
Volgend:Voer .net core consoleprogramma uit op Linux/Centos [broncode]
 Huisbaas| Geplaatst op 17-05-2017 14:46:57 |

Ik wil graag mijn mening delen, de reden voor de onverstaanbare tekens op de console is omdat de standaardcoderingspagina van de Chinese Windows-opdrachtregel GB2312 is, en als je Chinees wilt uitvoeren, hoef je alleen de codeerpagina van de console aan te passen naar Unicode.
Typ chcp 65001 in cmd en start het programma of voeg een regel toe aan het programma
Console.OutputEncoding = Encoding.Unicode;
De reden voor de verwarde webpagina is ook dat het programma de codering niet specificeert en standaard Unicode gebruikt, terwijl de browser in de Chinese omgeving standaard gbk gebruikt. Je kunt de browser vertellen om utf8 te gebruiken door ContentType in te stellen.
In afwachting van de context. Response.WriteAsync ("Hallo, welkom in Beijing"); Voorafgegaan door:
Context. Response.ContentType = "tekst/plain; charset=UTF-8";
Als je echter Chinees vertoont, hoef je niet zonder speciale eisen naar System.Text.Encoding.CodePages te verwijzen
Geplaatst op 12-11-2022 13:40:04 |
Bewaar voor later gebruik
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com