Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 36918|Svar: 2

[.NET Core] .NET Core-konsolens kinesiska tecken förvrängda tecken

[Kopiera länk]
Publicerad på 2017-05-17 14:44:09 | | | |



.NET Core-konsolprogrammet är mycket enkelt, det vill säga det uppmanar användaren att ange en URL, och sedan ange URL:en som användaren angett, alla förstår på en gång, men de kinesiska tecknen är förvrängda,

Felorsaker:

'GB2312' är inte ett stödd kodningsnamn. För information om hur man definierar en anpassad kodning, se dokumentationen för metoden Encoding.RegisterProvider.
Parameternamn: namn

Den ovanstående allmänna betydelsen är att Encoding inte stöder GB2312-kodning, och du behöver använda metoden Encoding.RegisterProvider för att registrera Providern.



Hur löser man det?

Lösning 1:

Att sätta textutdata från de tecken som visas av inställningskonsolen med kodning kommer att appliceras på motsvarande konsol. Systemlokalen som används av standardkodssidans konsol bestäms.



Lösning 2:

1: Använd metoden Encoding.RegisterProvider för att registrera Provider

2: CodePagesEncodingProvider i paketet System.Text.Encoding.CodePages

3: nuget utför kommandot: Install-Package System.Text.Encoding.CodePages

4: Lägg till kod:










Föregående:Centos Installation .NET Core Environment Handledning
Nästa:Kör .net core-konsolprogrammet på Linux/Centos [källkod]
 Hyresvärd| Publicerad på 2017-05-17 14:46:57 |

Jag vill dela med mig av min åsikt, anledningen till de osammanhängande tecknen på konsolen är att standardkodningssidan för den kinesiska Windows-kommandoraden är GB2312, och om du vill skriva ut kinesiska behöver du bara ändra kodningssidan på konsolen till Unicode.
Skriv chcp 65001 i cmd och kör programmet eller lägg till en rad i programmet
Console.OutputEncoding = Encoding.Unicode;
Anledningen till den osammanhängande webbsidan är också att programmet inte specificerar kodningen och använder Unicode som standard, medan webbläsaren i den kinesiska miljön använder gbk som standard. Du kan be webbläsaren använda utf8 genom att sätta ContentType.
Inväntar kontext. Response.WriteAsync ("Hej, välkommen till Peking"); Föregås av:
Kontext. Response.ContentType = "text/plain; charset=UTF-8";
Men om du visar kinesiska behöver du inte referera till System.Text.Encoding.CodePages utan särskilda krav
Publicerad på 2022-11-12 13:40:04 |
Spara för senare användning
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com