html页面编码问题

今天在项目中碰到需要把已经编码的html页面通过mvc controller返回到前端页面,已编码的html页面包含类似下面的内容:

<div style="line-height: 150%;text-indent:0pt;"><span class="st1">2018.04.05 16:05 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#33406;&#26143;&#28009;&#21103;&#20027;&#20219;&#21307;&#24072;&#39318;&#27425;&#26597;&#25151;&#35760;&#24405;</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()中写异步请求控制器的代码。

猜你喜欢

转载自www.cnblogs.com/LouisGo/p/9286493.html
今日推荐