【发布时间】:2014-09-05 23:01:33
【问题描述】:
我正在通过 Jetty Runner (7.6.15) 运行一个 Java 项目。我最近一直在尝试使用 D3.js,为了调试一些神秘问题,我需要将其提供给未缩小的版本。嗯,D3 在一些变量名中有一些非拉丁 Unicode 字符(如var π = Math.PI)。
当我尝试使用那个未缩小的文件时,我收到错误,因为我的浏览器认为字符编码是 ISO-8859-1 而不是 UTF-8。果然,服务器响应中的“Content-Type”标头没有字符集。
我正在启动 Jetty Runner,LANG 和 LC_ALL 都设置为“en_US.UTF-8”,并且我正在传递一个系统属性 file.encoding 设置为“UTF-8” Java 命令行。这显然是不够的。我可以查看主机上的源文件,它绝对完好无损;事实上,如果我直接从浏览器地址栏加载 JavaScript 文件并手动告诉 Firefox 它是 Unicode,那么它看起来很好。
我没有使用配置文件启动 Jetty Runner,因为我不知道该怎么做。它似乎在主 HTML 页面(它是一个单页应用程序)的内容类型标题中添加了一个显式的 ISO-8859-1 标记,并且当然覆盖了文档标题中的 <meta charset> 标记。
那么有没有办法做到这一点?有时我觉得我是地球上仅有的 12 个使用 Jetty Runner 的人之一 :)
【问题讨论】:
标签: javascript encoding utf-8 jetty