日期:2014-05-20  浏览次数:20774 次

Java 字符编码问题
HTML code

<a href="http://127.0.0.1:9090/plugins/userService/userservice?type=send&secret=SVtHkegzW&username=123@lihong/spark-456@lihong/spark&message=测试消息&password=123!&name=123&email=http://www.baidu.com">send</a>



这是我的HTML里面的东西 
我想用message传中文
我的send方法如下

Java code

public void send(String jid, String message)
    {
        System.setProperty("file.encoding", "UTF-8");
        SessionManager sessionManager = SessionManager.getInstance();
        String arg[]=jid.split("-");
        if(arg.length>1)
        {
            int i;
            for(i=0;i<arg.length;i++)
            {
                sessionManager.sendServerMessage(new JID(arg[i]), null, message);
            }
        }
        else
        {
            sessionManager.sendServerMessage(new JID(jid), null, message);
        }
    }
//谁知道字符串编码应该怎么写啊,现在的message只能够传英文,传中文的话会是一些问号(????)




------解决方案--------------------
System.setProperty("file.encoding", "gb2312");
试一下

------解决方案--------------------
sessionManager.sendServerMessage(new JID(arg[i]), null, message);
变成
sessionManager.sendServerMessage(new JID(arg[i]), null, new String(message.getBytes(),"gb2312"));

然后把
System.setProperty("file.encoding", "UTF-8");
去掉。