这两个你试一下,肯定能解决你的问题  
 byte[] temp;
   temp=logname.getBytes("iso-8859-1");
    logname=new String(temp);
logname=new String( "你要转换的字符".getBytes("gb2312"),"iso-8859-1" );
不好用的方法2是谁教你的?根本就没转换嘛!!

解决方案 »

  1.   

    我试验了
    out.print(new String("孙亮朝".getBytes("iso-8859-1"),"gb2312"));
    out.print(new String("孙亮朝".getBytes("gb2312"),"iso-8859-1"));
    打印出来的都是“Y?”
    感觉好像是unicode字符导致的错误!,那位高手提醒一下?
      

  2.   

    在其他的文章里曾说到在中文NT环境下如下语句输出会得到乱码,  
    <%=\"你好\"%> 及 out.print(\"你好\");等。解决方法是只要对字符串变量进行编码就可以得到正确结果,如下代码可以得到正确的输出:  
    <% String title=\"你好\";  
     byte[] tmpbyte=title.getBytes(\"ISO8859_1\");  
     title=new String(tmpbyte);  
     out.print(title); %>  
    或者<%=title%>
      

  3.   

    (我是一只小小) 提供的方法我也试验过了仍然是乱麻:
    而且我都试验了一遍;
    tmpbyte=title.getBytes("ISO8859_1");
    tmpbyte=title.getBytes("gb2312");
    tmpbyte=title.getBytes("utf-8");
    tmpbyte=title.getBytes("utf-16");
    我是用记事本写的代码,是否和unicode有关?
    而且我也试验把ie的字符改编成各种编码模式都不好用!怎么搞得?