火狐显示如下
www.soku.com/search_video/q_太极拳
到了搜狗,就成下面这样子了
http://www.soku.com/search_video/q_%E5%A4%AA%E6%9E%81%E6%8B%B3肿么回事?

解决方案 »

  1.   

    这不是乱码,太极拳是中国汉字,不是西欧文字,而火狐浏览器和搜狗处理方法不一样罢了,你可以通过 
    String queryStr = java.net.URLDecoder.decode(rawQueryStr , "gbk");
    这个方法转换一下,其实它们是一样的,只是表现形式不一样了。
      

  2.   


    %E5%A4%AA%E6%9E%81%E6%8B%B3是用什么编码表示汉字?不像base64编码啊
      

  3.   

    是采用的西欧编码,因为不同浏览器对非西欧编码处理不同,你可以看看这篇文章http://wenku.baidu.com/view/5833841c59eef8c75fbfb354.html
      

  4.   

    不同浏览器对中文这种非西欧字符处理方式不一样罢了,如果你需要把参数传到后台,那么你可以通过
     
    String objtag =request.getParameter("keyword");           
      objtag1 =new String(objtag.getBytes("iso-8859-1"),"UTF-8");     那么你就可以得到你想要的中文
      

  5.   

    为何不采用base64对中文进行编码呢?
    base64不是西欧编码么