2012-03-12 66 views
3

我在我的开发环境中在OSX上运行Jetty。目前字符编码似乎是faulti(可能是mac-roman),覆盖了Jetty默认值。我如何强制编码为UTF-8?这个问题似乎只出现在OSX上,linux/windows工作正常。Jetty mac编码为UTF-8

我从终端运行Jetty,所以eclipse特定的解决方案没有帮助。

回答

1

这里没问题,但是我们从javaWrapper启动Jetty(并且不应该有所作为)。

我可以看到造成影响的唯一参数是设置file.encoding系统属性,例如-Dfile.encoding=UTF-8

编辑 (我们的Mac区域被设置为UTF-8)

+0

我会接受这个答案,因为它是最终解决问题的参数。认为它应该是一个Jetty参数的错误是我的... – Marcus 2012-03-12 13:36:28

1

要设置默认的字符编码码头,你可以设置系统属性“org.eclipse.jetty.util.UrlEncoding.charset”来随你喜欢。这将影响URL的查询字符串或POST HTTP请求的内容的编码和解码。

此外,很长一段时间(也许在6.1.x早期时间)现在默认情况下这是utf-8,所以我不确定这是你看到的问题。

所以很明显,jetty已经是一个多年的eclipse项目了,所以上面的系统设置不是一个特定于eclipse的设置,它只是我们在eclipse命名上的一个神器。 :)

干杯

+0

upvote为参数的信息值开始于“日食” – Marcus 2012-03-12 13:38:53

+1

我认为URL编码是一个不同的问题比提到的海报(默认文件编码)。 (s)他询问JVM设置,而不是HTTP特定设置。 – Noah 2012-07-02 14:52:59

5

显然我错在指责码头这个问题。原因是maven,以及maven如何引入默认编码java设置。

设置该ENV变量似乎来解决这个问题:

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 

Answer found from here

+0

这解决了我的编码问题,通过cygwin在Windows上运行mvn码头。 – Will 2013-05-01 21:13:35