我的编程空间,编程开发者的网络收藏夹
学习永远不晚

.Net Core读取文件时中文乱码问题的解决方法分享

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

.Net Core读取文件时中文乱码问题的解决方法分享

背景

今天在使用core web api上传txt文档的时候本来很顺利的,但是一测试发现读取的中文内容是乱码的,很是纳闷。

出于经验,立马把代码的Encoding.Default改成 Encoding.uft8, 发现还是不行。后面索性把上传的文件另存为下,特地选择带有bom的utf8选项。

但是发现还是乱码。郁闷。

问题

于是在本能的百度下,发现方法一大堆,但是没有一个可以解决问题的。

无意中,发现了链接,找到了官网   如下 

https://docs.microsoft.com/zh-cn/dotnet/api/system.text.encoding.default?view=netcore-3.1#System_Text_Encoding_Default

进去之后,豁然开朗。里面是这么写的,关于Encoding.Default 属性的定义是这样的。

.NET Framework 中的默认属性

在 Windows 桌面上的 .NET Framework 中, Default 属性始终获取系统的活动代码页并创建 Encoding 与其对应的对象。 活动代码页可能是 ANSI 代码页,其中包括 ASCII 字符集以及不同于代码页的其他字符。 由于所有 Default 基于 ANSI 代码页的编码都将丢失数据,因此请考虑 Encoding.UTF8 改用编码。 在 U + 00 到 U + 7F 范围内,UTF-8 通常是相同的,但可以在不丢失的情况下在 ASCII 范围外对字符进行编码。

.NET Core 上的默认属性

在 .NET Core 中, Default 属性始终返回 UTF8Encoding 。 在运行 .NET Core 应用程序的所有操作系统(Windows、Linux 和 macOS)上都支持 UTF-8。

解决办法

So,.NET Framework 中默认编码是GB2312,而在 .NET Core 中不支持,若想使用必须得先注册编码

代码如下

var completeFilePath = Path.Combine(filePath, saveName);
                    var stream = formFile.OpenReadStream();
                    Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
                    Encoding encoding = Encoding.GetEncoding("gb2312");
                    using var reader = new StreamReader(stream, encoding);
                    var input = reader.ReadToEnd();

到此,问题解决。

附.Net Core下读取配置文件中文乱码

.Net Core下的配置文件是json格式,读取配置文件时若是咱们设置有中文会出现乱码,如何解决呢。json

网上找了个方法,只要将appsetting.json用记事本打开,而后另存为格式选择UTF-8就能够app

而后读取配置文件的中文信息时就不会出现乱码了 blo

总结

到此这篇关于.Net Core读取文件时中文乱码问题解决的文章就介绍到这了,更多相关.Net Core读取文件中文乱码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

.Net Core读取文件时中文乱码问题的解决方法分享

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

.Net Core读取文件时中文乱码如何解决

这篇文章主要介绍“.Net Core读取文件时中文乱码如何解决”,在日常操作中,相信很多人在.Net Core读取文件时中文乱码如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.Net Core读取文件
2023-06-29

Java读取properties文件之中文乱码问题及解决

这篇文章主要介绍了Java读取properties文件之中文乱码问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-29

java读取文件中文乱码解决方法介绍

Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。(推荐:java视频教程)读取代码如下:List lines=new ArrayList(); BufferedReader br = new BufferedReader(new
java读取文件中文乱码解决方法介绍
2020-12-12

Android读取本地json文件的方法(解决显示乱码问题)

本文实例讲述了Android读取本地json文件的方法。分享给大家供大家参考,具体如下: 1、读取本地JSON ,但是显示汉字乱码public static String readLocalJson(Context context, Str
2022-06-06

读写json中文ASCII乱码问题的解决方法

今天要帮前端写一个小后台,就是读取数据然后转成json送给他,让他去展示。数据很简单,但是处理的时候遇到了一个问题,文件中涉及到了中文的处理,每次处理完写的json格式就是ASCII码,完全没办法用。代码如下:# -*- coding: u
2022-06-04

java文件读取中文乱码的原因与解决方法

最近遇到一个问题,Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。(推荐:java视频教程)读取代码如下:List lines=new ArrayList(); BufferedReader br = new BufferedR
java文件读取中文乱码的原因与解决方法
2015-03-18

解决中文乱码问题的matplotlib方法

解决matplotlib中文乱码问题的方法,需要具体代码示例Matplotlib是一个常用的用于数据可视化的Python库,可以生成各种图表和图形。然而,对于中文用户来说,经常会遇到一个问题,就是生成的图表中的中文字符显示乱码。这个问题可
解决中文乱码问题的matplotlib方法
2024-01-13

spring boot使用i18n时properties文件中文乱码问题的解决方法

国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版
2023-05-30

drupal6上传中文文件名附件乱码问题解决方法

本文实例讲述了drupal6上传中文文件名附件乱码问题解决方法。分享给大家供大家参考。具体方法如下: drupal6的upload模块只能上传英文名字的文件,我经过一段时间的测试,完美解决了drupal下中文文档上传的问题。 其实文档上传,
2022-06-12

Android Studio的中文乱码问题解决方法

Android Studio安装后发现所有的中文,不管是界面上的还是输出的log中的中文都变成小框框 可以肯定是字体的问题 解决:菜单File->settings对话框,切换到Appearance标签 选择override defaul
2022-06-06

解决PHP Dompdf中文乱码问题的方法

解决 PHP Dompdf 中文乱码问题的方法PHP Dompdf 是一个用于将 HTML 文档转换为 PDF 文件的工具,它的功能强大且易于使用。然而,在处理中文内容时,有时会遇到中文乱码的问题。本文将介绍一些解决 PHP Dompdf
解决PHP Dompdf中文乱码问题的方法
2024-03-05

Node.js抓取中文网页乱码问题和解决方法

Node.js 抓取非 utf-8 的中文网页时会出现乱码问题,比如网易的首页编码是 gb2312,抓取时会出现乱码var request = require('request') var url = 'http://www.163.co
2022-06-04

R语言中RStudio中文读取乱码的解决方法

这期内容当中小编将会给大家带来有关R语言中RStudio中文读取乱码的解决方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。RStudio中使用rjson包读取处理json数据时,遇到中文会显示为 “
2023-06-02

Ubuntu下gedit中文乱码问题的解决方法

本篇内容主要讲解“Ubuntu下gedit中文乱码问题的解决方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ubuntu下gedit中文乱码问题的解决方法”吧!gedit中文乱码问题解决,wi
2023-06-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录