nginx可以re-encodeXML文件,还是alterXMLheaders?

Can nginx re-encode XML documents, or alter XML headers?

a problem 最终是由第三方 XML 文档造成的,该文档的实际编码(ISO 8859-1 或 Windows 1252,无法分辨)与其对应的文件不匹配声明的编码 (UTF-8).

我正在寻找创造性的解决方法。我们已经为各种内容使用了 nginx 代理,所以也许有一种方法可以:

  1. Re-encode 文档内容从 ISO 8859-1 转换为 UTF-8;或
  2. 即时更改文档 header,从 UTF-8 到 ISO 8859-1。

nginx 可以实现这些吗?如果没有,类似的工具?

简答,可以。

include win-utf;
server {
  listen 5080;
  location /... {
    proxy_pass https://mapsengine.google.com;
    source_charset windows-1251;
    charset        utf-8;
  }
}

即:

  • source_charset 指定您要转换的内容
  • charset 指定要转换的内容
  • include win-utf 引入一个带有 charset_map 的文件进行转换。

开箱即用,仅支持 Windows1251、UTF-8 和 KOI8-R 之间的转换。

更多信息:http://nginx.org/en/docs/http/ngx_http_charset_module.html