中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么解決asp.net core在輸出中文時亂碼的問題

發布時間:2021-09-09 18:21:42 來源:億速云 閱讀:544 作者:chen 欄目:開發技術

這篇文章主要介紹“怎么解決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=398940
 public 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("您好,北京歡迎你");
 });
 }
 }

怎么解決asp.net core在輸出中文時亂碼的問題

那么我們獲取“GB2312”編碼,然后對其編碼呢?

 public static void Main(string[] args)
 {
 Console.WriteLine("您好,北京歡迎你");
 try
 {
 Console.WriteLine(Encoding.GetEncoding("GB2312"));
 }
 catch (Exception ex)
 {
 Console.WriteLine(ex.Message);
 }
 Console.Read();
 }
 }

怎么解決asp.net core在輸出中文時亂碼的問題

'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在包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);
 }

怎么解決asp.net core在輸出中文時亂碼的問題

總結

所以在頁面上輸出,或者在控制臺輸出中文的時候,要注意進行注冊Provider。

到此,關于“怎么解決asp.net core在輸出中文時亂碼的問題”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肥东县| 揭西县| 黑水县| 大丰市| 韶山市| 华安县| 新巴尔虎右旗| 共和县| 和政县| 荆州市| 蚌埠市| 宁夏| 贡嘎县| 平果县| 垦利县| 射阳县| 镇坪县| 商都县| 隆回县| 洛浦县| 磐安县| 龙川县| 天水市| 密山市| 湘乡市| 遵义市| 玉溪市| 台中县| 吉隆县| 正安县| 钟山县| 马山县| 灌云县| 海安县| 宝坻区| 金川县| 鄂州市| 栾城县| 屏山县| 永定县| 伊宁县|