【发布时间】:2016-08-10 13:12:28
【问题描述】:
由于升级到最新的 Vertx 3.2.2,StaticHandler 从使用 Windows-1252 编码的文件系统返回静态 css、html 等资源。以前的 Vertx 版本没有说明任何编码。
现在,所有 utf-8 数据(如 iconfont 图标字符)都是乱码。
我曾尝试手动将 UTF8 BOM 添加到文件的开头,StaticHandler 仍然用作 Windows-1252(但至少浏览器能够识别 utf 标记并很好地呈现)。
如何强制使用首选字符编码,或让 statichandler 识别文件编码?
【问题讨论】:
-
您是否尝试过设置文件编码系统属性?
-Dfile.encoding=UTF-8 -
不,但现在我试过了。不幸的是,它没有帮助。 (我还想知道是否有完整的 vertx 特定系统属性列表。找到 vertx.cwd 花了我一个小时。)
-
嗯,你可能是对的。然而,这 - 与其他参数不同 - 必须作为命令行参数给出,因为 System.setProperty 不起作用。不过,我找到了一个不错的解决方法。
-
不确定你的意思。如果您使用 CLI,则可以设置 java-opts 参数或 JAVA_OPT 环境变量。
标签: utf-8 character-encoding vert.x