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()中寫異步請求控制器的代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM