解决C#读取文件乱码问题

C#借助GDAL实现对shp属性按字段读取,并解决乱码问题 问题描述: 需要对一批shp文件读取,提取其中部分字段到数据库 解决方法: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text... 阅读详情

保存如下内容到mapConfig.json文件:

{
    "Basemap": [
        {
            "Name": "谷歌卫星地图(中文注记-无偏移)",
            "Url": "http://172.16.50.135:9009/arctiler/ogc/services/GoogleHybridMap/WMTS"
        },
        {
            "Name": "谷歌卫星地图(无偏移)",
            "Url": "http://172.16.50.135:9009/arctiler/ogc/services/GoogleSatelliteMap/WMTS"
        }
    ]
}
读取时出现乱码:


其中,读取部分的代码如下:

string sPath = System.Web.HttpContext.Current.Server.MapPath(@"~\App_Data\mapConfig.json");
JObject jMapConfig = JObject.Parse(System.IO.File.ReadAllText(sPath));
JArray aArray = jMapConfig["Basemap"] as JArray;
List<Basemap> listResults = new List<Basemap>();
foreach (var aBasemap in aArray)
{
    listResults.Add(JsonConvert.DeserializeObject<Basemap>(aBasemap.ToString()));
}
return Json(listResults);

经查,ReadAllText返回的结果已经是乱码,而非到JSON解析的时候才乱码。

考虑是编码问题,于是尝试看看ReadAllText方法有没有重载函数可以指定编码。原来还真有,通过如下代码即可解决乱码问题:

System.IO.File.ReadAllText(sPath, System.Text.Encoding.Default)

正确的结果是这样的:



Json中文乱码问题的解决方法——C#实现 然而,有时候在处理包含中文字符的Json数据时会出现乱码的情况。本文将介绍一种解决Json中文乱码问题的常见方法,并提供相应的源代码和描述。而某些情况下,中文字符可能会被错误地编码或解码,导致乱码的出现。通过适当地控制编码和解码过程,我们可以有效地处理包含中文字符的Json数据,避免乱码的发生。通过控制编码和解码过程,我们可以确保Json数据中的中文字符能够正确地传输和解析。为了解决这个问题,我们可以使用C#的System.Text.Encoding类提供的方法进行编码和解码的控制。 阅读详情

相关推荐

解决C#读取中文文件乱码问题

通过以上步骤,我们可以解决C#读取中文文件乱码的问题。根据实际情况选择合适的方法,确保文件的编码方式与代码中使用的编码方式一致,或通过转换方式将文件内容转换为正确的编码方式。确定文件的编码方式:在开始之前,我们需要明确文件的编码方式。这种情况通常是由于文件的编码方式与代码中使用的编码方式不一致所致。类来读取文件,并指定正确的编码方式。指定了文件的编码方式为UTF-8。,这将根据系统的默认编码方式来读取文件。使用正确的编码方式读取文件:在C#中,可以使用。方法读取文件内容,并指定文件的编码方式为。

TzData的博客 4462

C# 读取 json文件中文乱码问题

问题可能是Unity自动将json文件的编码转换为了ASCII码,手动在vs中打开json文件时,提示部分字符格式已被替换,保存后会造成文件改变。解决方法:转到文件夹中用记事本打开,再以utf-8格式保存替换原文件。读取json文件,中文全部变成乱码。

qq_45750353的博客 2168

C#接收json数据后中文乱码解决方法

C#接收Json格式数据,中文出现乱码解决方法

解决C#读取文本文件乱码

在读取文本文件的内容时,如果里面有中文,常常出现乱码问题。一般原因主要是文本文件的编码不是UTF-8格式,而C#中读文件默认的编码是UTF-8,所以读出的是乱码。 解决办法是进行编码的转化。 代码如下: StreamReader sr=new StreamReader("test.txt",System.Text.Encoding.GetEncoding("gb2312")); 或者

Pet8766的专栏 2340

探针卡技术演进:从金线微针到MEMS探针的Wafer Sort革命

本文探讨了探针卡技术从传统金线微针到MEMS探针的演进,及其对晶圆测试(Wafer Sort)的革命性影响。随着芯片焊垫间距进入45微米以下,MEMS技术凭借其超高精度、超长寿命和卓越的信号完整性,成为应对高密度、高速及3D IC测试挑战的关键,显著提升了测试效率与稳定性。

lstm7chronicler的博客 365

高效低功耗设计:PMOS电子开关在墨水屏与ADC采样电路中的创新应用

本文深入探讨了PMOS电子开关在低功耗设计中的创新应用,特别是在墨水屏和ADC采样电路中的关键作用。通过详细分析PMOS的导通机制和近乎零静态功耗特性,展示了其在待机低功耗场景下的显著优势,并提供了实用的电路设计技巧和元器件选型建议,帮助工程师实现极致的功耗优化。

weixin_29193359的博客 163

C# 使用Newtonsoft.Json.dll 格式化显示Json串

private string ConvertJsonString(string str) { //格式化json字符串 JsonSerializer serializer = new JsonSerializer(); TextReader tr = new StringReader(str); ...

【设计改变世界】github地址:https://github.com/guochunyang2004 1173

【学习笔记-QGIS】 QGIS从零快速上手

安装文章参考:https://zhuanlan.zhihu.com/p/370633306。

Xcong_Zhu的博客 1万+

文件解析二:html+c#+python解决文件读取乱码问题

由于加密或其它因素影响导致在本地写的一些文件读取程序也无法使用。现探索了两种方法: (1)html+c#,c#中调用Microsoft.Office.Interop.Excel模块,本地必须安装office环境(原理就是调用本地的office去执行读取)。 (2)不安装office:html前端上传文件+ashx后端保存文件+html将获取的保存路径发给python后端读取保存。(为什么不用python直接做后端:因为python是从文件流中读取数据,保存了也是乱码。)uoload-test项目文件夹可由I

weixin_44133816的博客 586

OSGEarth 基于鼠标位置缩放

说明 osgearth 原有漫游器EarthManipulator 不支持此功能,所以需要修改此漫游器代码,其中主要原理就是在缩放的同时也要改变当前漫游器中心焦点的位置,从而保持鼠标指定点的位置缩放是不改变。 核心代码修改部分 EarthManipulator 的头文件zoom方法添加参数view /** * Zoom the camera using delt...

Rsoftwaretest的专栏 3787

Windows Server 2012评估版过期自动关机问题:两种高效解决方案详解

本文针对Windows Server 2012评估版过期导致的自动关机问题,提供了两种高效解决方案。一是通过slmgr.vbs命令重置授权,临时延长评估期;二是使用DISM工具将评估版转换为正式版,一劳永逸。文章详细解析了两种方法的操作步骤、注意事项及适用场景,帮助用户快速恢复服务器稳定运行。

pytorchlight8的博客 1198

C#读取文本文件出现乱码的问题及解决

由于C#的StreamReader类的默认编码方式为Unicode(从windows 2000以来默认的文本编码方式-待考证),所以当读取以ANSI方式存储的含中文的文本文件,因无法正确识别格式,读取的结果会显示为乱码。 解决方法:指定读取文件时的编码方式为文件的默认编码方式。 StreamReader reader = new StreamReader(FileName, System.Te...

weixin_30535043的博客 276

点云从入门到精通技术详解100篇-基于三维点云的机器人抓取位姿检测(续)

集到的深度信息会存在噪点,因此需要将生成的场景点云进行预处理,获得平滑、降采样处理场景点云,本文设计的预处理操作更能从冗杂的场景点云中提取清晰、平滑的目标点云,便于后续的抓取位姿采样,提高后续算法的处理效率。因此需要对场景点云进行适当的分割,仅保留目标物体的点云,整个过程可以通过。场较小时,空间中的点云密度会更加提高;觉子系统的效率,再保持全局点云几何形状不改变的前提下,通过对目标点云进行。体素降采样可以快速地减少点云数据并同时保持点云的形。个点,由于我们实施抓取的目标物体只占整个场景点云图的一部分,

getusushu的博客 774

转 如何有效的使用C#读取文件 及如何解决中文乱码问题

//方法1: StreamReader din = new StreamReader(@"C:\1.txt", System.Text.Encoding.GetEncoding("gb2312")); string html = ""; while (din.Peek() > -1) ...

weixin_30664051的博客 376

RK3588高速接口实战-PCIE

摘要: RK3588的PCIe接口支持PCIe 3.0x4和PCIe 2.1x1/x2,具备Root Complex和Endpoint模式,适用于NVMe SSD、5G模块等高速设备。硬件设计需注意85Ω/100Ω阻抗匹配、220nF AC耦合电容及100MHz参考时钟。设备树需配置控制器节点、PHY模式和IOMMU映射(RC模式用iommu-map,EP模式用iommus)。调试时可通过lspci检查链路状态,dmesg查看训练日志,perf分析性能。常见问题包括设备识别失败(检查复位时序、PHY配置)、

weiyvyy的博客 507

【DaVinci Configurator专题】-5-通过Data Mapping自动创建CAN信号关联的Port并添加到APP SWC

目录 1 导入CAN Matrix变更后的Arxml文件 2 自动创建CAN信号关联的APP Port 3 CAN信号与App SWC的接口映射/连接 4 结尾 <--返回「实战篇」博文-总目录--> <--返回「Autosar从入门到精通-实战篇」专栏主页--> 关键词: DaVinci Developer DaVinci Configurator Pro ARXML AUTOSAR System Description Network Explorer 1

「汽车电子助手」的博客 5132

用c#读取文件内容中文是乱码的解决方法:

用c#读取文件内容中文是乱码的解决方法:

wangchaoqi1985的博客 1325

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C#读取文件方法

解决乱码问题 方法一: 需要从streamReader中指定参数即可  StreamReader objReader = new StreamReader(filePath, UnicodeEncoding.GetEncoding("GB2312"));             string sLine = "";                        whi

wczlcj的专栏 586

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

解决C#读写文件遇到的中文乱码问题

 在C#中我们经常读文件,但当有时读到是中文的文件时,可以检测到变量是乱码!StreamReader sr = new StreamReader(fileName);                                               string str=sr.ReadLine  ();                                     

1221

c#读取ini文件时遇到的问题

c#读取ini文件时主要遇到的问题是读取的中文都是乱码,原因是ini文件的编码方式不对,应该是以ANSI格式进行编码。 下面介绍读取ini文件的方法: 示例1: [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string ...

weixin_30830327的博客 794

C#读取txt文档中乱码问题

用C#编写notepad时,读取文件时发现英文显示正常,但是中文就是一个一个方框。如果把txt转换成UTF-8格式时读取就正常,so怀疑是编码问题,仔细查了查帮助,发现Default的说明是“获取系统的当前 ANSI 代码页的编码”,就用了下,果然不是乱码了。 所以解决办法就是如下定义StreamReader的对象 StreamReader sr = new StreamReader(path

soldierluo的专栏 5119

C# 读写文本文件乱码解决方案

在使用C#对文本文件读取的时候,如果其中包含了中文,经常会出现乱码。一般解决是在StreamReader加一个编码,我使用的是Encoding.UTF8,一般情况下使用这个参数就可以。但是,在这次我使用UTF8却无效。而且使用,unicode和UTF32都会使用StreamReader的EndOfStream在读取一行之后,就会变成true。我想原因可能是使用这种编码没有正确读取出换行符,使读取一...

weixin_33743703的博客 143

C#之四十二 C# 读写文本文件乱码解决方案

C#程序设计及宿舍管理系统实战 https://edu.youkuaiyun.com/course/detail/27107 在对文本文件进行读取的时候,如果其中包含了中文,可能就会有乱码的出现,解决方法很简单。只需要在读取出来的时候StreamReader加一个编码就可以了。代码如下: using System.IO; StreamReader sr = new StreamReader(file...

张晨光老师的播客 1991

C# 读取 TXT文件的时候中文乱码解决方法

用C#编写notepad时,读取文件时发现英文显示正常,但是中文就是一个一个方框。如果把txt转换成UTF-8格式时读取就正常,so怀疑是编码问题,仔细查了查帮助,发现Default的说明是“获取系统的当前 ANSI 代码页的编码”,就用了下,果然不是乱码了。所以解决办法就是如下定义StreamReader的对象StreamReader sr = new StreamReader(path,Enco

Denny辉的博客 2万+

C#中StreamReader读取中文出现乱码

有时在用C#中StreamReader读取中文时出现乱码 如: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Net; using System.Data.Sql; using Syste

一点一滴 4万+
上一篇: Oracle存储过程结合ST_Geometry实现根据空间关系建立管点管线属性关联
下一篇: C#给JSON对象添加一个键值对
acngiser
博客等级 码龄15年 118粉丝 214原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值