Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 36918|Răspunde: 2

[.NET Core] Caractere distorsionate din consolă .NET Core

[Copiază linkul]
Postat pe 17.05.2017 14:44:09 | | | |



Programul consolei .NET Core este foarte simplu, adică îi cere utilizatorului să introducă un URL, iar apoi să introducă URL-ul introdus de utilizator, toată lumea va înțelege dintr-o privire, dar caracterele chinezești sunt distorsionate,

Cauzele erorii:

"GB2312" nu este un nume de codare suportat. Pentru informații despre definirea unei codări personalizate, consultați documentația pentru metoda Encoding.RegisterProvider.
Nume parametru: nume

Sensul general de mai sus este că Encoding nu suportă codificarea GB2312 și trebuie să folosești metoda Encoding.RegisterProvider pentru a înregistra Furnizorul.



Cum se rezolvă asta?

Soluția 1:

Setează că ieșirea textului caracterelor afișate de consola Setări folosind codarea va fi aplicată consolei corespunzătoare. Localitatea sistemului folosită de consola implicită a paginii de coduri este determinată.



Soluția 2:

1: Folosiți metoda Encoding.RegisterProvider pentru a înregistra Furnizorul

2: CodePagesEncodingProvider în pachetul System.Text.Encoding.CodePages

3: nuget execută comanda: Install-Package System.Text.Encoding.CodePages

4: Cod de adăugare:










Precedent:Tutorial pentru instalarea Centos .NET Core Environment
Următor:Rulează programul de bază .net pentru consolă pe Linux/Centos [cod sursă]
 Proprietarul| Postat pe 17.05.2017 14:46:57 |

Aș dori să-mi împărtășesc părerea, motivul caracterelor distorsionate pe consolă este că pagina de codare implicită a liniei de comandă chinezești din Windows este GB2312, iar dacă vrei să ieși în chineză, trebuie doar să modifici pagina de codare a consolei în Unicode.
Tastează chcp 65001 în cmd și rulează programul sau adaugă o linie în program
Console.OutputEncoding = Encoding.Unicode;
Motivul paginii web distorsionate este și faptul că programul nu specifică codificarea și folosește Unicode implicit, în timp ce browserul din mediul chinezesc folosește gbk implicit. Poți spune browserului să folosească utf8 setând ContentType.
Așteptăm contextul. Response.WriteAsync ("Salut, bine ai venit la Beijing"); Precedat de:
Context. Răspuns.ContentType = "text/simplu; charset=utf-8";
Totuși, dacă afișezi chineza, nu trebuie să te referi la System.Text.Encoding.CodePages fără cerințe speciale
Postat pe 12.11.2022 13:40:04 |
Cu excepția utilizărilor ulterioare
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com