See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 36918|Vastuse: 2

[.NET tuum] .NET Core konsool, hiina tähemärgid segased

[Kopeeri link]
Postitatud 17.05.2017 14:44:09 | | | |



.NET Core konsooliprogramm on väga lihtne – see palub kasutajal sisestada URL ja seejärel sisestada kasutaja sisestatud URL, kõik saavad kohe aru, kuid hiina tähed on segased,

Viga põhjustab:

'GB2312' ei ole toetatud kodeerimisnimi. Kohandatud kodeerimise määratlemise kohta leiate teavet Encoding.RegisterProvider meetodi dokumentatsioonist.
Parameetri nimi: nimi

Ülaltoodud üldine tähendus on, et kodeerimine ei toeta GB2312 kodeerimist ning teenusepakkuja registreerimiseks tuleb kasutada meetodit Encoding.RegisterProvider.



Kuidas seda lahendada?

Lahendus 1:

Seadke seadete konsoolis kuvatavate tähemärkide tekstiväljund kodeeringu abil rakendatakse vastavale konsoolile. Süsteemi asukoht, mida vaikimisi koodilehe konsool kasutab, määratakse.



Lahendus 2:

1: Kasuta Encoding.RegisterProvider meetodit teenusepakkuja registreerimiseks

2: CodePagesEncodingProvider paketis System.Text.Encoding.CodePages

3: nuget täidab käsu: Install-Package System.Text.Encoding.CodePages

4: Lisa kood:










Eelmine:Centos Installation .NET Core Environment Tutorial
Järgmine:Käivita .net core console program Linux/Centos peal [lähtekood]
 Üürileandja| Postitatud 17.05.2017 14:46:57 |

Tahaksin jagada oma arvamust: konsooli tähemärgid on segased, sest Hiina Windowsi käsurea vaikimisi kodeerimisleht on GB2312, ja kui tahad hiina keeles väljundit teha, pead konsooli koodilehe Unicode'iks muutma.
Sisesta cmd-sse chcp 65001 ja käivita programm või lisa programmi rida
Console.OutputEncoding = Encoding.Unicode;
Segase veebilehe põhjuseks on ka see, et programm ei määra kodeeringut ja kasutab vaikimisi Unicode'i, samas kui Hiina keskkonnas kasutab brauser vaikimisi gbk-d. Saad brauserile öelda, et kasutaks utf8, seades ContentType'i.
Ootan konteksti. Response.WriteAsync ("Tere, tere tulemast Pekingisse"); Eelnevad:
Kontekst. Response.ContentType = "tekst/tavaline; charset=utf-8";
Kui aga kuvad hiina keelt, ei pea sa System.Text.Encoding.CodePages kasutama ilma eritingimusteta
Postitatud 12.11.2022 13:40:04 |
Välja arvatud hilisemaks kasutamiseks
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com