从对方服务器上获得的编码是utf-8的,linux服务器是iso8859-1的,但我从request。getParameter,获得对方数据写入文件中
我是new String(username.getBytes("utf-8"),"iso8859-1");转码写入文件的。结果是乱码?怎么回事啊?格式:脤脝脙么
高手帮忙解决一下啊。谢谢啦。。
我弄老长时间了就是不行。都崩溃了

解决方案 »

  1.   

    这个,应该是数据的编码问题,最好在连接数据库的url上想想办法,或者写个转换类(这经常有问题)。还有,要看数据库是什么。
      

  2.   

    new String(username.getBytes("utf-8"),"iso8859-1")
    你这句的意思是
    1 username通过utf-8边编码成二进制
    2 再用iso8859-1来解码成字符串但是iso8859-1是不支持中文的,所以这种方式肯定是乱码,应该是这样吧
    new String(username.getBytes("iso8859-1"),"utf-8")
      

  3.   

    在页面中加入request.setCharacterEncoding("utf-8");试试
      

  4.   

    中文乱码问题:应该说所有的情况都碰到了吧,解决也是曲折的,经过摸索,总结如下: 1、所有页面都用UTF-8。 
    2、写过滤器,设置request.setCharacterEncoding("UTF-8")。 
    3、javascript脚本里用encodeURI(str)。 
    4、适当的时候,在jsp里用java.net.URLDecoder.decode(request.getParameter("str"),"UTF-8")。 
    5、最容易忽略的是使用"":value=" <%=paraFiles%>",一定要有引号。 
    6、new String(content.getBytes("ISO-8859-1"), "GBK");
      

  5.   

    new String(username.getBytes("iso8859-1"),"utf-8")
    这样试一下吧;
    如果不行的话,应该在对方服务器上转成iso8859-1后,再传过来吧
      

  6.   

    在web.xml了加个过滤器过滤下字符编码。