簡體   English   中英

Node + Express + EJS 字符編碼問題(UTF-8 與 Shift_JIS)

[英]Node + Express + EJS character encoding issues (UTF-8 vs Shift_JIS)

我正在開發一個網站,在我將所有路由移植到 Node/Express/EJS 應用程序之前,該網站的所有字符編碼都為 Shift_JIS(節點本身不支持的日語編碼)。 現在,所有頁面都呈現為 UTF-8; 網站上運行的某些服務依賴於 Shift_JIS 編碼。

我曾嘗試制作自定義中間件來強制 Vary: Accept-Encoding 的標頭(雖然我不確定我這樣做是否正確),將編碼 html 更改為 Shift_JIS(這適用於其他標頭和其他 HTML 屬性,例如 Doctype)但是一切都不斷地呈現為 UTF-8。

我已經看到一些為 node 中的替代編碼添加功能的 shiv,但我不確定如何將它們應用於我的 Express 應用程序。

我會提供一個最小的工作示例,但我認為問題是不言自明的,我無法提供項目中的任何工作代碼。

回顧:我有一個網站 - 需要 - 以 Shift_JIS 編碼呈現,而不是 UTF-8。 我嘗試了一些解決方案並撞上了磚牆。

任何幫助將不勝感激。 這確實阻礙了開發,我在很多領域都有經驗,但外國編碼不是其中之一。

您可以基於https://www.npmjs.com/package/iconv-js創建您自己的中間件,將您的所有輸出轉換為 Shift-JIS 或檢測請求中的某些內容,並且僅將對某些請求的響應轉換為 Shift-工業標准。

有關創建自己的后處理中間件的示例,請參閱https://coderwall.com/p/miq0iw/node-express-middleware-to-post-process-requests

暫無
暫無

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

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