有没可能呢?同一个web工程。我在我环境以get方式提交带中文参数的http请求,系统正常接收,没有乱码。而终端以同样的方式发请求,显示却是乱码。PS:我的环境是用httpclient模拟http发送请求的。运行环境:window(web程序接收无乱码)
    终端是用c写的一个程序来模拟http请求。运行环境:linux(web工程接收是乱码)怎么解释这样的情况呢?如何避免呢?

解决方案 »

  1.   

    通常应该在tomcat中conf/server.xml中的Connector节点中加入URIEncoding="UTF-8" 这个属性
    LZ检查想是否有,没有的话加上试试
      

  2.   

    PS:我的环境是用httpclient模拟http发送请求的。运行环境:window(web程序接收无乱码)
      终端是用c写的一个程序来模拟http请求。运行环境:linux(web工程接收是乱码)
    很有可能是c写的一个程序来模拟http请求中的中文编码问题,确认是否和服务端一致?!
      

  3.   

    如果编码都统一为utf-8的话..可以采用java.net.decode在后台进行解码.
      

  4.   

    很有可能是c写的
    我觉得关键在于这个
    linux不是问题
      

  5.   

    一般避免中文问题。我们通常将参数进行加密。比如用base64处理。然后转码就行了。这样既可以密码中文的问题。还可以对参数加密。就是稍微麻烦一点点。
      

  6.   

    呵呵,我的web工程是用GBK编码的,我设置成URIEncoding="GBK" 就好了。
      

  7.   

    据我所知,c的程序应该没有中文编码的问题,因为c都是以字节传输的。只有java环境才有编码问题。