Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 36918|Respuesta: 2

[.NET Core] Caracteres distorsionados en caracteres chinos de la consola .NET Core

[Copiar enlace]
Publicado en 17/5/2017 14:44:09 | | | |



El programa de consola .NET Core es muy sencillo, es decir, pide al usuario que introduzca una URL y, luego, introduzca la URL que introduce el usuario, todos lo entenderán de un vistazo, pero los caracteres chinos están distorsionados,

Causas del error:

'GB2312' no es un nombre de codificación compatible. Para información sobre cómo definir una codificación personalizada, consulte la documentación del método Encoding.RegisterProvider.
Nombre del parámetro: nombre

El significado general anterior es que Encoding no soporta codificación GB2312, y necesitas usar el método Encoding.RegisterProvider para registrar al Provider.



¿Cómo solucionarlo?

Solución 1:

Establece que la salida de texto de los caracteres que se muestran en la consola de Configuración mediante codificación se aplicará a la consola correspondiente. Se determina la configuración del sistema utilizada por la consola de páginas de códigos por defecto.



Solución 2:

1: Utilizar el método Encoding.RegisterProvider para registrar al Proveedor

2: CodePagesEncodingProvider en el paquete System.Text.Encoding.CodePages

3: nuget ejecuta el comando: Install-Package System.Text.Encoding.CodePages

4: Añadir código:










Anterior:Tutorial del entorno .NET Core de instalación de Centos
Próximo:Ejecutar el programa central de consola .net en Linux/Centos [código fuente]
 Propietario| Publicado en 17/5/2017 14:46:57 |

Me gustaría compartir mi opinión, la razón de los caracteres distorsionados en la consola es porque la página de codificación predeterminada de la línea de comandos china de Windows es GB2312, y si quieres exportar chino, solo necesitas modificar la página de codificación de la consola a Unicode.
Escribe chcp 65001 en cmd y ejecuta el programa o añade una línea al programa
Console.OutputEncoding = Encoding.Unicode;
La razón de la página web distorsionada también es que el programa no especifica la codificación y usa Unicode por defecto, mientras que el navegador en el entorno chino usa gbk por defecto. Puedes decirle al navegador que use utf8 configurando el ContentType.
En espera de contexto. Response.WriteAsync ("Hola, bienvenido a Pekín"); Precedido por:
contexto. Response.ContentType = "texto/plano; charset=utf-8";
Sin embargo, si muestras chino, no necesitas consultar System.Text.Encoding.CodePages sin requisitos especiales
Publicado en 12/11/2022 13:40:04 |
Salvo para usos posteriores
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com