C# rest头中的java编码

C# rest头中的java编码,c#,java,web-services,rest,encoding,C#,Java,Web Services,Rest,Encoding,我在intelij中使用tomcat上的java 6作为服务器,我有一个C#客户端,它向java服务器发送请求,请求可以在头值中包含像ǵ这样的字符 在其中一个java筛选器中,如下所示: public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletExcept

我在intelij中使用tomcat上的java 6作为服务器,我有一个C#客户端,它向java服务器发送请求,请求可以在值中包含像ǵ这样的字符

在其中一个java筛选器中,如下所示:

 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
            throws IOException, ServletException
    {
 String str=request.getHeader(HEADER_NAME);
我从c#应用程序中获得一个带有字符的头值

ǵ

但在java中,它看起来像

õ

还是


如何确保java以正确的编码获取标题,即我希望看到java中的ǵ。

我认为没有办法指定标题值的编码

你能控制客户吗?您需要确保它使用Tomcat的默认值(可能取决于系统)对标题进行编码,或者在两侧使用MIME编码(可能是最安全的)。

Http使用8859-1表示“自由文本”标题字段值。根据rfc 2047,其他编码的文本必须使用MIME编码。