0

我在 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# 应用程序发送的带有字符的标头值

ǵ http://www.fileformat.info/info/unicode/char/1f5/index.htm

但在java中它看起来像

õ http://www.fileformat.info/info/unicode/char/f5/index.htm

或者 ??

我怎样才能确保java以正确的编码获得标头,即我想在java中看到ǵ。

4

1 回答 1

0

我不相信有一种方法可以指定标头值的编码。

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

于 2012-10-19T00:09:31.523 回答