标签:utf-8 情况 coding 方式 异步请求 今天 结果 span gb2312
今天在项目中碰到需要把已经编码的html页面通过mvc controller返回到前端页面,已编码的html页面包含类似下面的内容:
<div style="line-height: 150%;text-indent:0pt;"><span class="st1">2018.04.05 16:05 艾星浩副主任医师首次查房记录</span></div>
通过FileInfo读取物理路径的html页面,然后通过FileStream把html页面的内容转换成byte[],开始通过Encoding指定utf-8或gb2312解码byte[],期待得到包含汉字的html页面字符串,但是屡屡失败,最终得到的还是已编码的字符串。最后通过HttpUtility.HtmlDecode(html)得到了解码后的html代码,以目前的情况猜测分析,HttpUtility.HtmlDecode(html)会按照html的编码方式,寻找对应的解码方式来解码。然后把解码后的html返回到前端,让iframe加载,结果html代码中包含的<,>,单引号等转义成了代码,使html代码在浏览器无法渲染,又是一堆乱码,上述通过iframe.src={controll/action}同步请求;最后通过异步请求解决上面问题,iframe.srcdoc=func(),在func()中写异步请求控制器的代码。
标签:utf-8 情况 coding 方式 异步请求 今天 结果 span gb2312
原文地址:https://www.cnblogs.com/LouisGo/p/9286493.html