客户端(Win UNIX) 服务器(UNIX) 
客户端向服务器POST数据
这些数据是包含中文字符的XML报文 采用UTF-8编码
request.setCharacterEncoding("UTF-8");
这个会产生什么作用?会把数据包按UTF-8解码么?
String msg=request.getParameter("xmldata");
比如用System.out.println("UTF-8 MSG:"+msg);
打印在服务器SystemOut日志里的是解码后的正常汉字还是UTF-8的乱码
SystemOut日志里的显示和UNIX系统的字符集有什么关系?

解决方案 »

  1.   

    你自己先跑一遍再来问.
    没有  Unix 环境,可以下载 VMWare 5 Workstation , 安装模拟环境.
      

  2.   

    客户端向服务器端发送的是UTF-8编码的字节流的话,request.setCharacterEncoding("UTF-8");
    会按UTF-8将字节流转换成字符流 即将  用1-3个字节对字符进行编码的UTF-8格式的字节流
    转换成统一用两个字节表示一个字符的UNICODE编码的字符,在VM内统一使用UNICODE编码不知道这样理解是否正确?那么UNICODE编码具体是指什么?和GBK GB2312  ISO8859-1 有什么关系?
      

  3.   

    UNICODE和GBK GB2312  没有对应关系
    字符串以文本方式存储在Win系统里是以GBK方式编码的
    VM里使用的是UNICODE的编码
    在将字符串从文件系统读入VM时是怎么转换的呢?