Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 36918|Atsakyti: 2

[.NET branduolys] .NET Core konsolės kinų simboliai iškraipyti simboliai

[Kopijuoti nuorodą]
Paskelbta 2017-05-17 14:44:09 | | | |



".NET Core" konsolės programa yra labai paprasta, tai yra, ji ragina vartotoją įvesti URL, o tada įveskite vartotojo įvestą URL, visi supras iš pirmo žvilgsnio, tačiau kinų simboliai yra iškraipyti,

Klaidos priežastys:

"GB2312" nėra palaikomas kodavimo pavadinimas. Informacijos apie pasirinktinio kodavimo apibrėžimą ieškokite metodo Encoding.RegisterProvider dokumentacijoje.
Parametro pavadinimas: pavadinimas

Aukščiau pateikta bendra reikšmė yra ta, kad kodavimas nepalaiko GB2312 kodavimo, todėl norėdami užregistruoti teikėją turite naudoti Encoding.RegisterProvider metodą.



Kaip tai išspręsti?

1 sprendimas:

Nustatykite simbolių, kuriuos rodo nustatymų konsolė, teksto išvestį naudodami kodavimą bus taikomas atitinkamai konsolei. Nustatoma numatytosios kodų puslapio konsolės naudojama sistemos lokalė.



2 sprendimas:

1: Norėdami užregistruoti teikėją, naudokite metodą Encoding.RegisterProvider

2: CodePagesEncodingProvider pakete System.Text.Encoding.CodePages

3: nuget vykdo komandą: Install-Package System.Text.Encoding.CodePages

4: Pridėti kodą:










Ankstesnis:"Centos" diegimo .NET pagrindinės aplinkos pamoka
Kitą:Paleiskite .net core konsolės programą Linux / Centos [šaltinio kodas]
 Savininkas| Paskelbta 2017-05-17 14:46:57 |

Norėčiau pasidalinti savo nuomone, iškraipytų simbolių konsolėje priežastis yra ta, kad numatytasis Kinijos "Windows" komandinės eilutės kodavimo puslapis yra GB2312, o jei norite išvesti kinų kalbą, jums tereikia pakeisti konsolės kodavimo puslapį į "Unicode".
Įveskite chcp 65001 cmd ir paleiskite programą arba pridėkite eilutę prie programos
Console.OutputEncoding = Encoding.Unicode;
Iškraipyto tinklalapio priežastis taip pat yra ta, kad programa nenurodo kodavimo ir pagal numatytuosius nustatymus naudoja Unicode, o kinų aplinkoje esanti naršyklė pagal numatytuosius nustatymus naudoja gbk. Galite nurodyti naršyklei naudoti utf8 nustatydami ContentType.
Laukia konteksto. Atsakymas.WriteAsync("Sveiki, sveiki atvykę į Pekiną"); Prieš tai:
kontekste. Response.ContentType = "tekstas/paprastas; simbolių rinkinys=utf-8";
Tačiau, jei rodoma kinų kalba, jums nereikia ieškoti System.Text.Encoding.CodePages be specialių reikalavimų
Paskelbta 2022-11-12 13:40:04 |
Išsaugokite vėlesniam naudojimui
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com