asp.net core输出中文乱码的问题
原文:asp.net core输出中文乱码的问题
摘要
在学习asp.net core的时候,尝试在控制台,或者页面上输出中文,会出现乱码的问题。
问题重现
新建控制台和站点
public class Program{public static void Main(string[] args){ Console.WriteLine("您好,北京欢迎你");Console.Read();}}
站点
public class Startup{// This method gets called by the runtime. Use this method to add services to the container.// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940public void ConfigureServices(IServiceCollection services){}// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory){loggerFactory.AddConsole();if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.Run(async (context) =>{await context.Response.WriteAsync("您好,北京欢迎你");});}}
那么我们获取“GB2312”编码,然后对其编码呢?
public static void Main(string[] args){Console.WriteLine("您好,北京欢迎你");try{Console.WriteLine(Encoding.GetEncoding("GB2312"));}catch (Exception ex){Console.WriteLine(ex.Message);}Console.Read();}}
'GB2312' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
Parameter name: name
上面的大概意思是Encoding 不支持GB2312编码,需要使用Encoding.RegisterProvider方法进行注册Provider。
try{Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);Console.WriteLine(Encoding.GetEncoding("GB2312"));}catch (Exception ex){Console.WriteLine(ex.Message);}Console.Read();
CodePagesEncodingProvider在Nuget包System.Text.Encoding.CodePages中
"System.Text.Encoding.CodePages/4.0.1": {"type": "package","dependencies": {"Microsoft.NETCore.Platforms": "1.0.1","System.Collections": "4.0.11","System.Globalization": "4.0.11","System.IO": "4.1.0","System.Reflection": "4.1.0","System.Resources.ResourceManager": "4.0.1","System.Runtime": "4.1.0","System.Runtime.Extensions": "4.1.0","System.Runtime.Handles": "4.0.1","System.Runtime.InteropServices": "4.1.0","System.Text.Encoding": "4.0.11","System.Threading": "4.0.11"},"compile": {"ref/netstandard1.3/System.Text.Encoding.CodePages.dll": {}},"runtimeTargets": {"runtimes/unix/lib/netstandard1.3/System.Text.Encoding.CodePages.dll": {"assetType": "runtime","rid": "unix"},"runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll": {"assetType": "runtime","rid": "win"}}},
好了,我们修改下代码,先注册,然后输出中文
try{Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);Console.WriteLine(Encoding.GetEncoding("GB2312"));Console.WriteLine("您好,北京欢迎你");}catch (Exception ex){Console.WriteLine(ex.Message);}
结语
所以在页面上输出,或者在控制台输出中文的时候,要注意进行注册Provider。
参考
https://msdn.microsoft.com/zh-cn/library/system.text.encoding.registerprovider(v=vs.110).aspx
asp.net core输出中文乱码的问题相关推荐
- PHP输出中文乱码的解决方法
PHP输出中文乱码的解决方法 参考文章: (1)PHP输出中文乱码的解决方法 (2)https://www.cnblogs.com/cyun/p/4146131.html 备忘一下.
- 解决Vs输出中文乱码的问题
解决Vs输出中文乱码的问题 原文:https://blog.csdn.net/c_khalid/article/details/51515675 源程序的运行结果是:中文乱码 首先,这个与VS本身无关 ...
- jquery PHP 中文乱码,PHP输出中文乱码怎么解决?
在建立网站的时候我们会发现,php页面输出乱码,php输出数据库字段也乱码,这要怎么解决?下面本篇文章就来给大家介绍一下解决php输出中文乱码的方法,希望对你们有所帮助. 第一种.HTML和PHP混合 ...
- qt5.13.2输出中文乱码
qt5使用qDebug()输出中文乱码,可以在.pro文件中添加以下的代码: #解决中文编译没法通过,输出中文乱码 msvc {QMAKE_CFLAGS += /utf-8QMAKE_CXXFLAGS ...
- Servlet 输出中文乱码的新收获(1)
又碰到servlet 输出中文乱码的问题,恼火.研究了一下,有了新的发现和认识. 原始代码: java 代码 protected void doGet(HttpServletRequest reque ...
- VScode输出中文乱码的解决方法------测试过可以用
VScode输出中文乱码的解决方法------测试过可以用 参考文章: (1)VScode输出中文乱码的解决方法------测试过可以用 (2)https://www.cnblogs.com/shou ...
- php打印出来乱码_PHP输出中文乱码怎么解决?
在建立网站的时候我们会发现,php页面输出乱码,php输出数据库字段也乱码,这要怎么解决?下面本篇文章就来给大家介绍一下解决php输出中文乱码的方法,希望对你们有所帮助. 第一种.HTML和PHP混合 ...
- 彻底解决IDEA输出中文乱码问题
本文一共有3种方法,针对的情况是输出中文乱码问题 问题描述 无法正确输出中文字符:(请正确分辨自己是哪一种乱码问题!) 解决方法 1.最容易想到 File -> Settings -> F ...
- PHP输出中文乱码的解决方法(适合初学者)
PHP输出中文乱码的解决方法 为什么会出现中文乱码? 一般来说,乱码的出现有2种原因,一种是由于编码(charset) 设置错误,导致浏览器以错误的编码来解析,从而出现了乱码,第二种就是文件被以错误的 ...
最新文章
- 0-1背包问题 动态规划java_C#使用动态规划解决0-1背包问题实例分析
- k8s minikube管理镜像相关命令:minikube image list/pull/load
- 按字寻址与按字节寻址
- PHP快速排序(原地切分)
- linux系统管理命令使用,Linux系统管理使用之基本命令(1)
- InstallShield LaunchAppAndWait运行另一个程序并等待该程序终止。
- 聊聊Socket、TCP/IP、HTTP、FTP及网络编程
- 区块链: 编译发布智能合约
- 关于synergy的问题
- 红警2的经验和秘籍及不是秘笈的秘笈(4)
- Hadoop与Hbase 安装下载
- xlwings 冻结窗口格 / 冻结首行/ FreezePanes
- 组合数(卢卡斯定理)
- 蓝牙Profile的概念和常见种类
- ts3.03.x cocos实现九宫格/跑马灯抽奖
- 【为你剖析笔记本的内部结构】
- 【招聘内推】美团招聘搜索推荐算法工程师(核心组)
- 对讲机CE认证需做什么测试
- 小蒋上门(家庭版) 官网
- DeepMind 发布强化学习通用算法 DreamerV3,AI 成精自学捡钻石
热门文章
- React之解决类中的this
- fadeToggle()
- python字符串乘一个数_Python--初识庐山真面目
- lua_path环境变量设置linux,ubuntu16.04安装lua环境
- php浏览服务器某一文件夹内容,php删除web服务器中指定目录下的指定格式的文件...
- cmd imp导入dmp文件_这是一篇长篇入门级数据库讲解:oracle数据库数据导入导出步骤...
- 重启计算机后桌面顺序是反的,Win10系统为什么重启电脑之后桌面上的图标排列顺序被打乱该如何处理...
- JAVA结课_一点心情,写java结课考试之前
- mysql 事务 引擎_mysql引擎和事务
- 辅助驾驶等级_双AMR电机位置传感器,助力自动驾驶安全出行