TL; DR D ü sseldor編碼爲D & amp;#252; sseldor,杜塞爾多夫未編碼(由默認的MVC編碼)爲什麼?什麼字符是html編碼的?
我正在構建一個使用soap的api。當我收到一個請求時,我將html編碼爲所有數據。 就在我結束當前請求之前,我複製Response.Stream並將其保存以進行日誌記錄。
我注意到杜塞爾多夫是由我的api編碼爲「D ü sseldorf」。這是預料之中的。 但是在我的日誌中,它顯示杜塞爾多夫編碼爲「D & amp;#252; sseldorf」(雙編碼),我的日誌在MVC串行化寫入響應流後保存。
我認爲這是因爲soap在通過電線發送它們之前對值進行編碼。
所以我的下一個測試是關閉我的api中的html編碼。 所以這次杜塞爾多夫給皁序列器。
但它被編碼爲杜塞爾多夫?
編輯:當我說我打開/關閉編碼我的意思是請求中的每個字段我使用HttpUtility.HtmlEncode(「一些字段」)。並將其保存到數據庫。然後,我喜歡這樣的MVC視圖返回數據:
我的問題是ContentResult類型方法運行時,它似乎做一些自己的編碼,我想知道那是什麼東西?
你的問題有點混亂。如果你禁用了html編碼,那會不會是預期的結果?另外,當你關閉html編碼時,你的日誌裏有什麼? – crazylpfan 2013-03-07 22:30:34