Node + Express + EJS 字符编码问题(UTF-8 vs Shift_JIS)
Node + Express + EJS character encoding issues (UTF-8 vs Shift_JIS)
我在一个网站上工作,在我将所有路由移植到 Node/Express/EJS 应用程序之前,所有字符编码都为 Shift_JIS(node 本身不支持的日语编码).现在,所有页面都呈现为 UTF-8;网站上 运行 的一些服务依赖于 Shift_JIS 编码。
我已经尝试制作自定义中间件来强制 header for Vary: Accept-Encoding(尽管我不确定我这样做是否正确),将编码 html 更改为 Shift_JIS(这适用于其他 headers 和其他 HTML 属性,例如 Doctype)但所有内容都持续呈现为 UTF-8。
我看到一些 shivs 在节点中添加了替代编码的功能,但我不确定如何将它们应用到我的 Express 应用程序。
我会提供一个最小的工作示例,但我认为问题是 self-explanatory,我无法提供该项目的任何工作代码。
回顾中:我有一个网站需要以 Shift_JIS 编码呈现,而不是 UTF-8。我尝试了一些解决方案,但遇到了麻烦。
任何帮助将不胜感激。这确实阻碍了发展,我在很多领域都有经验,但外国编码不是其中之一。
您可以创建自己的基于 https://www.npmjs.com/package/iconv-js 的中间件,将所有输出转换为 Shift-JIS 或检测请求中的某些内容,并仅将对某些请求的响应转换为 Shift-JIS。
有关创建您自己的 post 处理中间件的示例,请参阅 https://coderwall.com/p/miq0iw/node-express-middleware-to-post-process-requests。
我在一个网站上工作,在我将所有路由移植到 Node/Express/EJS 应用程序之前,所有字符编码都为 Shift_JIS(node 本身不支持的日语编码).现在,所有页面都呈现为 UTF-8;网站上 运行 的一些服务依赖于 Shift_JIS 编码。
我已经尝试制作自定义中间件来强制 header for Vary: Accept-Encoding(尽管我不确定我这样做是否正确),将编码 html 更改为 Shift_JIS(这适用于其他 headers 和其他 HTML 属性,例如 Doctype)但所有内容都持续呈现为 UTF-8。
我看到一些 shivs 在节点中添加了替代编码的功能,但我不确定如何将它们应用到我的 Express 应用程序。
我会提供一个最小的工作示例,但我认为问题是 self-explanatory,我无法提供该项目的任何工作代码。
回顾中:我有一个网站需要以 Shift_JIS 编码呈现,而不是 UTF-8。我尝试了一些解决方案,但遇到了麻烦。
任何帮助将不胜感激。这确实阻碍了发展,我在很多领域都有经验,但外国编码不是其中之一。
您可以创建自己的基于 https://www.npmjs.com/package/iconv-js 的中间件,将所有输出转换为 Shift-JIS 或检测请求中的某些内容,并仅将对某些请求的响应转换为 Shift-JIS。
有关创建您自己的 post 处理中间件的示例,请参阅 https://coderwall.com/p/miq0iw/node-express-middleware-to-post-process-requests。