急:linux下轉碼問題

lostsky發表於2004-01-29
概要:
multipart form裡的的中文資料提交後用smartupload得到後經過iso8895-1到gbk的轉碼,直接用System.out.print輸出,發現是亂碼。但是在

windows下都是正常的。把multipart form改成普通form也是正確的。

詳細:

formpost.jsp
<form enctype="multipart/form-data" name="form1" method="post" action="formexe.jsp.jsp">
<input type="text" name="work">
</form>
formexe.jsp
String work = StringParse.ISO8859ToGBK((String)mySmartUpload.getRequest().getParameter("work"));


其中轉碼函式是:

         public static String ISO8859ToGBK (String s) {
              try {
                if (s==null) s="";
                byte[] b=s.getBytes("ISO-8859-1");
                String s2 = new String(b,"GBK");
                if(s2.length() < s.length())
                        return s2;
                else
                        return s;
             }
              catch (Exception e) {
                e.printStackTrace();
                System.out.println(e.toString() ) ;
              }
              return (s);
         }

多謝了

相關文章