让JettyRunner使用UTF-8编码提供静态内容(如CSS和JavaScript)
Making JettyRunner serve up static content (like CSS and JavaScript) with UTF-8 encoding
我正在通过Jetty Runner(7.6.15)运行一个Java项目。我最近一直在尝试使用D3.js,为了调试一些神秘的问题,我需要不加修饰地提供它。D3在一些变量名中有一些非拉丁Unicode字符(比如var π = Math.PI
)。
当我尝试使用未经优化的文件时,我会遇到错误,因为我的浏览器认为字符编码是ISO-8859-1,而不是UTF-8。果不其然,服务器响应中的"Content-Type"标头没有字符集。
我将在LANG
和LC_ALL
都设置为"en_US.UTF-8"的情况下启动Jetty Runner,并在Java命令行上传递设置为"UTF-8"的系统属性file.encoding
。这显然是不够的。我可以查看主机上的源文件,它肯定完好无损;事实上,如果我直接从浏览器地址栏加载JavaScript文件,并手动告诉Firefox它是Unicode,那么它看起来很好。
我不会用配置文件启动JettyRunner,因为我不知道如何做到这一点。它似乎在主HTML页面(它是一个单页应用程序)的内容类型标题中添加了一个明确的ISO-8859-1标记,当然这会覆盖文档标题中的<meta charset>
标记。
那么有办法做到这一点吗?有时我觉得我是地球上仅有的12个使用Jetty Runner的人之一:)
这就像我的web.xml
:中的一个子句一样简单
<mime-mapping>
<extension>js</extension>
<mime-type>application/javascript; charset=UTF-8</mime-type>
</mime-mapping>
我不知道我怎么会注意到这么明显的事情。它甚至与Jetty本身没有太大关系。
相关文章:
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- CSS/Javascript Lightbox
- (html/css/javascript)试图使导航栏中的“当前页面”链接变成不同的颜色
- 在css/javascript中单击,切换图像上的去饱和度
- 如何使用HTML/CSS/JavaScript开发桌面应用程序
- 我的CSS/Javascript下拉菜单测试代码出了什么问题
- 如何在HTML CSS JavaScript中根据纵横比调整高度或宽度
- 使用CSS/Javascript设计图像地图的样式
- 如何使手风琴(CSS+javascript)工作
- 在项目中组织CSS/JavaScript的最佳方式是什么
- 用于检查未使用的CSS/JavaScript选择器的NetBeans插件
- HTML CSS- javascript .click() event
- 使用HTML/CSS/JavaScript更改文件名
- CSS Javascript在1 onClick上处理2事件
- CSS/Javascript带有类's和id's
- 使用CSS/JavaScript在活动页面上突出显示活动导航菜单项,无id
- 选择框在应用 css/javascript 时失去功能
- 使用 CSS/JavaScript 安排动画
- 动态图像放置帮助 - CSS / javascript / jquery.
- PhoneGap Build Service "Build in HTML5, CSS, JavaScript