이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 36918|회답: 2

[.NET 코어] .NET 코어 콘솔 중국어 문자 왜곡 문자

[링크 복사]
게시됨 2017. 5. 17. 오후 2:44:09 | | | |



.NET Core 콘솔 프로그램은 매우 간단합니다. 즉, 사용자가 URL을 입력하라고 안내하고, 사용자가 입력한 URL을 입력하면 한눈에 이해할 수 있지만, 중국어 글자가 뒤섞여 있습니다.

오류 원인:

'GB2312'는 지원되는 인코딩 이름이 아닙니다. 사용자 지정 인코딩 정의에 관한 정보는 Encoding.RegisterProvider 메서드 문서를 참조하세요.
매개변수 이름: 이름

위의 일반적인 의미는 인코딩이 GB2312 인코딩을 지원하지 않으며, Provider를 등록하려면 Encoding.RegisterProvider 메서드를 사용해야 한다는 것입니다.



어떻게 해결할까요?

해결책 1:

설정 콘솔에서 인코딩을 통해 표시되는 문자의 텍스트 출력을 설정하면 해당 콘솔에 적용됩니다. 기본 코드 페이지 콘솔에서 사용하는 시스템 로케이션이 결정됩니다.



해결책 2:

1: Encoding.RegisterProvider 메서드를 사용하여 제공자를 등록합니다

2: System.Text.Encoding.CodePages 패키지 내 CodePagesEncodingProvider

3: nuget이 명령어를 실행합니다: Install-Package System.Text.Encoding.CodePages

4: 코드 추가:










이전의:Centos 설치 .NET 코어 환경 튜토리얼
다음:Linux/Centos에서 .net 코어 콘솔 프로그램을 실행하세요 [소스 코드]
 집주인| 게시됨 2017. 5. 17. 오후 2:46:57 |

제 의견을 공유하고 싶습니다. 콘솔에서 문자가 뒤섞인 이유는 중국어 윈도우 명령줄의 기본 인코딩 페이지가 GB2312이기 때문입니다. 중국어를 출력하려면 콘솔의 코딩 페이지를 유니코드로 수정하기만 하면 됩니다.
chcp 65001을 cmd로 입력하고 프로그램을 실행하거나 프로그램에 한 줄을 추가하세요
Console.OutputEncoding = Encoding.Unicode;
웹페이지가 엉망인 이유는 프로그램이 인코딩을 지정하지 않고 기본적으로 유니코드를 사용하는 반면, 중국 환경의 브라우저는 기본적으로 gbk를 사용하기 때문입니다. ContentType을 설정하면 브라우저에 utf8을 사용하도록 설정할 수 있습니다.
기다림 맥락에서. Response.WriteAsync("안녕하세요, 베이징에 오신 것을 환영합니다"); 앞서 나온 기사들:
맥락. Response.ContentType = "text/plain; charset=utf-8";
하지만 중국어를 표시한다면 특별한 요구 사항 없이는 System.Text.Encoding.CodePages를 참조할 필요가 없습니다
게시됨 2022. 11. 12. 오후 1:40:04 |
나중에 사용할 수 있도록 저장하세요
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com