簡體   English   中英

在Weblogic 8中設置內容類型的HTTP標頭可解決角度html編碼問題

[英]Setting content-type http header in Weblogic 8 to fix angular html encoding issue

我有一個從weblogic 8服務器部署的角度應用程序。 但是,在UAT中,其中一個html文件存在編碼問題。 我們在ng模式中有ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ進行驗證,但是當我們使用開發人員工具查看時,其中的一些解釋為□?

我已經將HTML文件保存為UTF-8並運行Jenkins。 在構建過程中,運行一條grunt命令,該命令將所有js和htlm合並到一個文件中。 對該文件進行外觀檢查表明編碼仍然很好。 生成的.js文件是UTF-8,沒有□? 符號。

我認為UAT中的瀏覽器正在以ISO-8895編碼而不是UTF-8讀取文件。 我找到了解決方案。 通過將內容類型的http標頭設置為"text/html; charset=utf-8"我可以強制瀏覽器使用正確的編碼。 我在weblogic 8中找不到用於設置此標頭的配置,因此我做了以下servlet過濾器:

https://github.com/pacurtin/HttpHeaderFilterServlet/blob/master/src/com/paddycurtin/HttpHeaderFilter.java

這適用於tomcat和weblogic中的.do struts文件,但不適用於.html文件。 通過代碼進行調試顯示,標題已設置為"text/html; charset=utf-8"但隨后weblogic將其重置為"text/html"

有沒有辦法在weblogic 8中設置內容類型的HTTP標頭? 還是一種阻止它用"text/html; charset=utf-8"覆蓋"text/html; charset=utf-8" "text/html"

這個servlet過濾器方法是解決該編碼問題的錯誤方法嗎?

以下是有關如何在WebLogic服務器中進行編碼的步驟

設置WebLogic Server系統屬性

您還可以通過將系統屬性weblogic.webservice.i18n.charset設置為字符集的名稱,來為部署在WebLogic Server實例上的所有已部署WebLogic Web Services指定字符集。 在啟動WebLogic Server實例的腳本中設置以下系統屬性:

 -Dweblogic.webservice.i18n.charset=utf-8 

這里有更多如何在其他服務器上默認設置UTF-8配置的信息 ,這是WebLogic中如何進行國際化的文檔Weblogic的文檔,希望對您有所幫助。 好吧,如果腳本不起作用,請嘗試將其添加到您的weblogic.xml

<charset-params> 
    <input-charset> 
        <resource-path>/*</resource-path> 
        <java-charset-name>UTF-8</java-charset-name> 
    </input-charset> 
</charset-params>

檢查此文檔以了解weblogic.xml的配置

weblogic.xml文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM