Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 36918|Odpoveď: 2

[.NET Core] .NET Core konzola Skreslené čínske znaky

[Kopírovať odkaz]
Zverejnené 17. 5. 2017 14:44:09 | | | |



Konzolový program .NET Core je veľmi jednoduchý, teda vyzýva používateľa, aby zadal URL, a potom zadal URL, ktorú používateľ zadal, každý pochopí na prvý pohľad, ale čínske znaky sú nezrozumiteľné,

Chyba spôsobuje:

'GB2312' nie je podporované kódovacie meno. Informácie o definovaní vlastného kódovania nájdete v dokumentácii k metóde Encoding.RegisterProvider.
Názov parametra: názov

Vyššie uvedený všeobecný význam je, že kódovanie nepodporuje GB2312 kódovanie a na registráciu poskytovateľa je potrebné použiť metódu Encoding.RegisterProvider.



Ako to vyriešiť?

Riešenie 1:

Nastavte textový výstup znakov, ktoré sa zobrazujú v konzole Nastavenia pomocou kódovania, ktorý bude aplikovaný na príslušnú konzolu. Určená je systémová lokalita používaná predvolenou konzolou kódových stránok.



Riešenie 2:

1: Použite metódu Encoding.RegisterProvider na registráciu poskytovateľa

2: CodePagesEncodingProvider v balíku System.Text.Encoding.CodePages

3: nuget vykoná príkaz: Install-Package System.Text.Encoding.CodePages

4: Pridať kód:










Predchádzajúci:Centos Installation .NET Core Environment Tutorial
Budúci:Spustiť .net core konzolový program na Linuxe/Centos [zdrojový kód]
 Prenajímateľ| Zverejnené 17. 5. 2017 14:46:57 |

Chcel by som sa podeliť o svoj názor, dôvodom nezrozumiteľných znakov na konzole je, že predvolená kódovacia stránka čínskeho príkazového riadku Windows je GB2312, a ak chcete vypisovať čínsky, stačí upraviť kódovaciu stránku konzoly na Unicode.
Napíšte chcp 65001 do cmd a spustite program alebo pridajte riadok do programu
Console.OutputEncoding = Encoding.Unicode;
Dôvodom skreslenej webovej stránky je aj to, že program nešpecifikuje kódovanie a štandardne používa Unicode, zatiaľ čo prehliadač v čínskom prostredí používa gbk ako predvolené. Prehliadaču môžete povedať, aby používal utf8, nastavením ContentType.
Počkajte na kontext. Response.WriteAsync ("Dobrý deň, vitajte v Pekingu"); Predchádzajú:
Kontext. Response.ContentType = "text/plain; Charset=utf-8";
Ak však zobrazíte čínštinu, nemusíte odkazovať na System.Text.Encoding.CodePages bez špeciálnych požiadaviek
Zverejnené 12. 11. 2022 13:40:04 |
Ulož si na neskoršie použitie
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com