猿问

很奇怪的tomcat乱码问题,麻烦各位帮忙看下!

环境: window server 2008 nginx-->tomcatA,tomcatB

 tomcatA通过代码发起url get访问tomcatB,B接收到的中文乱码!

环境: window10

同样的配置和代码tomcatA访问tomcatB,B接收到的中文是正常的!
都说server.xml添加URIEncoding="UTF-8"可以解决这个问题;
但是我本地访问window server服务器接收是正常的;所以我认为应该不是tomcat配置的问题;
麻烦各位帮忙看下是什么原因!

代码:

tomcat

<Connector port="9090" protocol="HTTP/1.1" enableLookups="false" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />

java

public static String loadJson(String url)
    {
        StringUtil.log("请求连接>>>>" + url);
        StringBuilder json = new StringBuilder();
        try
        {
            URL urlObject = new URL(url);
            BufferedReader in = new BufferedReader(new InputStreamReader(urlObject.openStream(), "UTF-8"));
            String inputLine;
            while ((inputLine = in.readLine()) != null)
            {
                json.append(inputLine);
            }
            in.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return json.toString();
    }
慕田峪7331174
浏览 577回答 5
5回答

天涯尽头无女友

get请求参数做url编码再发送吧

慕勒3428872

Servlet的get()方法里面设置编码request.setCharacterEncoding("utf-8");

胡子哥哥

我记得至修改server.xml还不够,还要这样tomcat 安装目录下 conf 文件夹中的web.xml 添加 <filter> <filter-name>setCharacterEncodingFilter</filter-name> <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter>

小唯快跑啊

访问的方法怎么写的?
随时随地看视频慕课网APP

相关分类

Java
我要回答