Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 36918|Yanıt: 2

[.NET Core] .NET Core konsolu Çince karakter bozuk karakterler

[Bağlantıyı kopyala]
Yayınlandı 17.05.2017 14:44:09 | | | |



.NET Core konsol programı çok basittir; yani kullanıcıdan bir URL girmesini ister, ardından kullanıcının girdiği URL'yi girer, herkes bir bakışta anlar, ancak Çince karakterler karışıktır,

Hata nedenleri:

'GB2312' desteklenen bir kodlama adı değildir. Özel kodlama tanımlama hakkında bilgi için Encoding.RegisterProvider yönteminin dokümantasyonuna bakınız.
Parametre adı: isim

Yukarıdaki genel anlam, Kodlama'nın GB2312 kodlamasını desteklemediği ve Sağlayıcıyı kaydetmek için Encoding.RegisterProvider yöntemini kullanmanız gerektiğidir.



Bunu nasıl çözebilirim?

Çözüm 1:

Ayarlar konsolu tarafından gösterilen karakterlerin metin çıktısını kodlama ile ayarlayın, ilgili konsola uygulanacaktır. Varsayılan kod sayfası konsolu tarafından kullanılan sistem konumu belirlenir.



Çözüm 2:

1: Sağlayıcıyı kaydetmek için Encoding.RegisterProvider yöntemini kullanın

2: System.Text.Encoding.CodePages paketinde CodePagesEncodingProvider

3: nuget şu komutu çalıştırıyor: Install-Package System.Text.Encoding.CodePages

4: Kod Ekle:










Önceki:Centos Installation .NET Core Environment Tutorial
Önümüzdeki:.net core konsol programını Linux/Centos'ta çalıştır [kaynak kodu]
 Ev sahibi| Yayınlandı 17.05.2017 14:46:57 |

Görüşümü paylaşmak istiyorum, konsoldaki karışık karakterlerin sebebi Çin Windows komut satırının varsayılan kodlama sayfasının GB2312 olmasıdır ve Çince çıkış yapmak istiyorsanız konsolun kodlama sayfasını Unicode'a çevirmeniz yeterlidir.
cmd içine chcp 65001 yazın ve programı çalıştırın veya programa bir satır ekleyin
Console.OutputEncoding = Encoding.Unicode;
Sayfanın garip olmasının sebebi ayrıca programın kodlamayı belirtmemesi ve varsayılan olarak Unicode kullanması, oysa Çin ortamındaki tarayıcının varsayılan olarak gbk kullanmasıdır. ContentType ayarlarıyla tarayıcıya utf8 kullanmasını söyleyebilirsiniz.
Bağlamı beklemekte. Response.WriteAsync("Merhaba, Pekin'e hoş geldiniz"); Öncesi:
bağlam. Response.ContentType = "metin/sade; charset=utf-8";
Ancak, Çince gösterirseniz, özel gereksinimler olmadan System.Text.Encoding.CodePages sayfalarına başvurmanıza gerek yok
Yayınlandı 12.11.2022 13:40:04 |
Daha sonra kullanmak için saklanır
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com