Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 36918|Válasz: 2

[.NET mag] .NET Core konzol kínai karakterek zavaros karakterei

[Linket másol]
Közzétéve 2017. 05. 17. 14:44:09 | | | |



A .NET Core konzolprogram nagyon egyszerű: arra kéri a felhasználót, hogy adjon be egy URL-t, majd adja meg az általa beírt URL-t, mindenki egy pillantással megérti, de a kínai karakterek összezavarodtak,

A hiba okai a következők:

A 'GB2312' nem támogatott kódolási név. Az egyedi kódolás meghatározásáról információért lásd az Encoding.RegisterProvider metódus dokumentációját.
Paraméter neve: név

A fenti általános jelentés az, hogy a kódolás nem támogatja a GB2312 kódolást, és a Szolgáltató regisztrálásához az Encoding.RegisterProvider módszert kell használni.



Hogyan lehet megoldani?

1. megoldás:

A beállítások konzol által megjelenített karakterek szövegkimenetét kódolással állítsuk be a megfelelő konzolra. Meghatározzuk, hogy melyik rendszerhelyet használja az alapértelmezett kódlap-konzol.



2. megoldás:

1: Használd az Encoding.RegisterProvider módszert a szolgáltató regisztrálására

2: CodePagesEncodingProvider a System.Text.Encoding.CodePages csomagban

3: nuget végrehajtja a parancsot: Install-Package System.Text.Encoding.CodePages

4: Kód hozzáadása:










Előző:Centos Installation .NET Core Environment Tutorial
Következő:Futtasd .net core konzolprogramot Linux/Centos [forráskód]
 Háziúr| Közzétéve 2017. 05. 17. 14:46:57 |

Szeretném megosztani a véleményemet, a konzolon a karakterek összezavarodásának oka az, hogy a kínai Windows parancssorának alapértelmezett kódolási oldala GB2312, és ha kínaiul akarsz kimenetet adni, csak a konzol kódolási oldalát kell Unicode-ra módosítani.
Gépeljük be a chcp 65001-et a cmd-be, és indítsd el a programot, vagy adj hozzá egy sort
Console.OutputEncoding = Encoding.Unicode;
A zavaros weboldal oka az is, hogy a program nem határozza meg a kódolást, alapértelmezés szerint Unicode-ot használja, míg a kínai környezetben a böngésző alapértelmezetten a gbk-t használja. A böngészőnek az utf8 használatát megmondhatod a ContentType beállításával.
A kontextusra várva. Response.WriteAsync ("Üdvözlöm Pekingben"); Előzőek:
A kontextus. Response.ContentType = "szöveg/egyszerű; charset=utf-8";
Ha azonban kínai nyelvet jelenítesz meg, nem kell a System.Text.Encoding.CodePages oldalra hivatkoznod külön követelmények nélkül
Közzétéve 2022. 11. 12. 13:40:04 |
Későbbre hagyva
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com