Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 36918|Resposta: 2

[.NET Core] .NET Core console com caracteres chineses distorcidos

[Copiar link]
Publicado em 17/05/2017 14:44:09 | | | |



O programa do console .NET Core é muito simples, ou seja, ele pede ao usuário para inserir uma URL e, então, digitar a URL inserida pelo usuário, todos entenderão à primeira vista, mas os caracteres chineses estão distorcidos,

Causas do erro:

'GB2312' não é um nome de codificação suportado. Para informações sobre como definir uma codificação personalizada, veja a documentação do método Encoding.RegisterProvider.
Nome do parâmetro: nome

O significado geral acima é que a Codificação não suporta a codificação GB2312, e você precisa usar o método Encoding.RegisterProvider para registrar o Provedor.



Como resolver isso?

Solução 1:

Defina a saída de texto dos caracteres exibidos pelo console de Configurações usando codificação será aplicada ao console correspondente. A localização do sistema usada pelo console padrão da página de códigos é determinada.



Solução 2:

1: Usar o método Encoding.RegisterProvider para registrar o Provedor

2: CodePagesEncodingProvider no pacote System.Text.Encoding.CodePages

3: o nuget executa o comando: Install-Package System.Text.Encoding.CodePages

4: Adicionar Código:










Anterior:Tutorial do Ambiente Core .NET Core para instalação do Centos
Próximo:Execute o programa central do console .net no Linux/Centos [código-fonte]
 Senhorio| Publicado em 17/05/2017 14:46:57 |

Gostaria de compartilhar minha opinião, o motivo dos caracteres confusos no console é porque a página padrão de codificação da linha de comando chinesa do Windows é GB2312, e se você quiser exportar em chinês, só precisa modificar a página de codificação do console para Unicode.
Digite chcp 65001 no cmd e execute o programa ou adicione uma linha ao programa
Console.OutputEncoding = Encoding.Unicode;
A razão da página web distorcida também é porque o programa não especifica a codificação e usa Unicode por padrão, enquanto o navegador no ambiente chinês usa gbk por padrão. Você pode pedir ao navegador para usar utf8 definindo o ContentType.
Aguardo contexto. Response.WriteAsync ("Olá, bem-vindo a Pequim"); Precedido por:
Contexto. Response.ContentType = "texto/simples; charset=utf-8";
No entanto, se você exibe chinês, não precisa consultar System.Text.Encoding.CodePages sem requisitos especiais
Publicado em 12/11/2022 13:40:04 |
Guarde para uso posterior
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com