[英]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過濾器:
這適用於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
的配置
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.