我作个这方面的,我当时,是在存库里作了一下中文处理,用ISO8859-1G来处理的

解决方案 »

  1.   

    <%@   page   contentType="text/html;charset=gbk"%>   
      <%@   page   import="java.sql.*,java.lang.*,java.util.*"%>   
      <%@   page   import="com.jspsmart.upload.*"   %> 
      <%@ page import="java.io.*"%>  
      <%   
         //request.setCharacterEncoding("gbk");
         Timestamp nowTime = new Timestamp(System.currentTimeMillis());
         String curDate = (nowTime.toString()).substring(0,19);
      
           String username = (String)session.getAttribute("username");
          int userid = 0;
          int money = 0;
          String lxr="";
          Class.forName("com.mysql.jdbc.Driver") ;
          Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sms?user=root&password=second&useUnicode=true");
          PreparedStatement cmc_ps2 = null;
          ResultSet cmc_rs2 = null;
          cmc_ps2 = conn.prepareStatement("select id,lxr,money from user_register where username='"+username+"' ");
    cmc_rs2 = cmc_ps2.executeQuery();
               while (cmc_rs2.next()){
                  userid =   cmc_rs2.getInt(1);
                  lxr =   cmc_rs2.getString(2);
                  money =   cmc_rs2.getInt(3);
               }
              cmc_rs2.close();
         // System.out.println(userid);  
          System.out.println(money);
          
          
                int j=0 ;
                int m=0 ;
                int n=0;
              //实例化上载bean   
              com.jspsmart.upload.SmartUpload   mySmartUpload=new   com.jspsmart.upload.SmartUpload();   
              //初始化   
              mySmartUpload.initialize(pageContext);   
              //设置上载的最大值   
              mySmartUpload.setMaxFileSize(500   *   1024*1024);   
              //上载文件   
              mySmartUpload.upload();   
            //循环取得所有上载的文件   
            for   (int   i=0;i<mySmartUpload.getFiles().getCount();i++){   
            //取得上载的文件   
            com.jspsmart.upload.File   myFile   =   mySmartUpload.getFiles().getFile(i);   
            if   (!myFile.isMissing())   
              {   
            //取得上载的文件的文件名   
              String   myFileName=myFile.getFileName();   
              //取得不带后缀的文件名   
              String     suffix=myFileName.substring(0,myFileName.lastIndexOf('.'));   
              //取得后缀名   
              String     ext=   mySmartUpload.getFiles().getFile(0).getFileExt();       
              //取得文件的大小       
              int   fileSize=myFile.getSize();   
             // String saveName = ds.getDateTime();//重命名上传的文件,并获取当前时间的值来赋值。
              String fileExt = myFile.getFileExt(); //获取上传文件的后缀名
             // String upLoadTime = saveName;        //upLoadTime 是专门存储时间格式的,将要
             // saveName = saveName.replaceAll("-","");//把"-"给删掉
             // saveName = saveName.replaceAll(" ","");
             // saveName = saveName.replaceAll(":","");
              //saveName += "."; //最终保存的文件名
              //saveName += fileExt;   
              //保存路径  
              curDate = curDate.replace("-","");
              curDate = curDate.replace("","");
              curDate = curDate.replace(":","");
              username +="_"; 
              username +=suffix;
              username +=curDate;
              String username3 = username;
              username +=".";
              username +=fileExt;
              String   trace="c:/sms/"+username;   
              
              //取得别的参数   
              String   explain=(String)mySmartUpload.getRequest().getParameter("text");   
              String   send=(String)mySmartUpload.getRequest().getParameter("send"); 
              String   sendcontent=(String)mySmartUpload.getRequest().getParameter("myTextArea");   
             // sendcontent   =   (new   String(sendcontent.getBytes(""),   "ISO8859-1"));   
              // sendcontent   = new   String(mySmartUpload.getRequest().getBytes("gbk"),"ISO8859-1");     
              //将文件保存在服务器端     
              myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);   
             System.out.println(sendcontent);
             String content = username3+"短信内容为:"+sendcontent;
             
            // unescape  us = new unescape();
           //  sendcontent = us.unescape(sendcontent);
             
        //java.io.File   f=new   File("c://sms//"+username);    
      //FileWriter   fw=new   FileWriter("c://sms//"+username1);  
      // File fil=new File("c:\\a.txt");
      //java.io.File fli = new File("c://iii.txt");
      FileWriter   fw=new   FileWriter("c://a.txt");    
      BufferedWriter bw=new BufferedWriter(fw); 
      bw.write(content); 
      bw.newLine();
      bw.flush();
      bw.close();  
      fw.close();       String path=request.getRealPath("");//取得当前目录的路径
     FileReader fr=new FileReader("c://sms//"+username);//建立FileReader对象,并实例化为fr
     BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象,并实例化为br
     String Line=br.readLine();//从文件读取一行字符串
     //判断读取到的字符串是否不为空
     
     while(Line!=null){
      int Line1=Integer.parseInt(Line.substring(0,3));
       if(Line.length()!=11   ){
           out.println(Line + "<br>");
         j++;
         Line=br.readLine();
      }else{
          switch(Line1)
       {
        case 130:m++;break;
        case 131:m++;break;
        case 132:m++;break;
        case 133:m++;break;
        case 134:m++;break;
        case 135:m++;break;
        case 136:m++;break;
        case 137:m++;break;
        case 138:m++;break;
        case 139:m++;break;
        case 150:m++;break;
        case 151:m++;break;
        case 152:m++;break;
        case 153:m++;break;
        case 154:m++;break;
        case 155:m++;break;
        case 156:m++;break;
        case 157:m++;break;
        case 158:m++;break;
        case 159:m++;break;
        default : j++;break;
       }
       Line=br.readLine();
       //System.out.println("m="+m);
      
      }
      
     }
     
     n=m+j;
     br.close();//关闭BufferedReader对象
     fr.close();//关闭文件
     if(n>money){
        out.println("对不起,您的帐户余额不够");
     }else{
      out.println(("发送成功!!!!!!").toString());    
      out.println(("总条数"+n+"条;").toString());   
      out.println(("正确号码"+m+"条;").toString());  
      out.println(("错误号码"+j+"条;").toString());    
          //String sql="insert into sendmoneyinfor(userid,lxr,sendmoney,sendcontent,senddate) values('"+userid+"','"+lxr+"','"+m+"','"+sendcontent+"',now())";
          String sql="insert into sendmoneyinfor(userid,lxr,sendmoney,sendcontent,senddate) values('"+userid+"','"+lxr+"','"+m+"','"+sendcontent+"',now())";
          Statement   stmt = conn.createStatement();
          stmt.executeUpdate(sql);
          System.out.println(sql);  
          
          //String sql="insert into sendmoneyinfor(userid,lxr,sendmoney,sendcontent,senddate) values('"+userid+"','"+lxr+"','"+m+"','"+sendcontent+"',now())";
          String sql1="update user_register set money=money-'"+n+"' where id='"+userid+"'";
          Statement   stmt1 = conn.createStatement();
          stmt.executeUpdate(sql1);
          System.out.println(sql1);  
      }  
            }   
            else     
            {   out.println(("上载失败!!!").toString());   }     
            }//与前面的if对应   
            
          
        
         
      %>
      

  2.   

    <%@   page   contentType="text/html;charset=gbk"%>   
      <%@   page   import="java.sql.*,java.lang.*,java.util.*"%>   
      <%@   page   import="com.jspsmart.upload.*"   %> 
      <%@ page import="java.io.*"%>  
      <%   
         //request.setCharacterEncoding("gbk");
         Timestamp nowTime = new Timestamp(System.currentTimeMillis());
         String curDate = (nowTime.toString()).substring(0,19);
      
           String username = (String)session.getAttribute("username");
          int userid = 0;
          int money = 0;
          String lxr="";
          Class.forName("com.mysql.jdbc.Driver") ;
          Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sms?user=root&password=second&useUnicode=true");
          PreparedStatement cmc_ps2 = null;
          ResultSet cmc_rs2 = null;
          cmc_ps2 = conn.prepareStatement("select id,lxr,money from user_register where username='"+username+"' ");
    cmc_rs2 = cmc_ps2.executeQuery();
               while (cmc_rs2.next()){
                  userid =   cmc_rs2.getInt(1);
                  lxr =   cmc_rs2.getString(2);
                  money =   cmc_rs2.getInt(3);
               }
              cmc_rs2.close();
         // System.out.println(userid);  
          System.out.println(money);
          
          
                int j=0 ;
                int m=0 ;
                int n=0;
              //实例化上载bean   
              com.jspsmart.upload.SmartUpload   mySmartUpload=new   com.jspsmart.upload.SmartUpload();   
              //初始化   
              mySmartUpload.initialize(pageContext);   
              //设置上载的最大值   
              mySmartUpload.setMaxFileSize(500   *   1024*1024);   
              //上载文件   
              mySmartUpload.upload();   
            //循环取得所有上载的文件   
            for   (int   i=0;i<mySmartUpload.getFiles().getCount();i++){   
            //取得上载的文件   
            com.jspsmart.upload.File   myFile   =   mySmartUpload.getFiles().getFile(i);   
            if   (!myFile.isMissing())   
              {   
            //取得上载的文件的文件名   
              String   myFileName=myFile.getFileName();   
              //取得不带后缀的文件名   
              String     suffix=myFileName.substring(0,myFileName.lastIndexOf('.'));   
              //取得后缀名   
              String     ext=   mySmartUpload.getFiles().getFile(0).getFileExt();       
              //取得文件的大小       
              int   fileSize=myFile.getSize();   
             // String saveName = ds.getDateTime();//重命名上传的文件,并获取当前时间的值来赋值。
              String fileExt = myFile.getFileExt(); //获取上传文件的后缀名
             // String upLoadTime = saveName;        //upLoadTime 是专门存储时间格式的,将要
             // saveName = saveName.replaceAll("-","");//把"-"给删掉
             // saveName = saveName.replaceAll(" ","");
             // saveName = saveName.replaceAll(":","");
              //saveName += "."; //最终保存的文件名
              //saveName += fileExt;   
              //保存路径  
              curDate = curDate.replace("-","");
              curDate = curDate.replace("","");
              curDate = curDate.replace(":","");
              username +="_"; 
              username +=suffix;
              username +=curDate;
              String username3 = username;
              username +=".";
              username +=fileExt;
              String   trace="c:/sms/"+username;   
              
              //取得别的参数   
              String   explain=(String)mySmartUpload.getRequest().getParameter("text");   
              String   send=(String)mySmartUpload.getRequest().getParameter("send"); 
              String   sendcontent=(String)mySmartUpload.getRequest().getParameter("myTextArea");   
             // sendcontent   =   (new   String(sendcontent.getBytes(""),   "ISO8859-1"));   
              // sendcontent   = new   String(mySmartUpload.getRequest().getBytes("gbk"),"ISO8859-1");     
              //将文件保存在服务器端     
              myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);   
             System.out.println(sendcontent);
             String content = username3+"短信内容为:"+sendcontent;
             
            // unescape  us = new unescape();
           //  sendcontent = us.unescape(sendcontent);
             
        //java.io.File   f=new   File("c://sms//"+username);    
      //FileWriter   fw=new   FileWriter("c://sms//"+username1);  
      // File fil=new File("c:\\a.txt");
      //java.io.File fli = new File("c://iii.txt");
      FileWriter   fw=new   FileWriter("c://a.txt");    
      BufferedWriter bw=new BufferedWriter(fw); 
      bw.write(content); 
      bw.newLine();
      bw.flush();
      bw.close();  
      fw.close();       String path=request.getRealPath("");//取得当前目录的路径
     FileReader fr=new FileReader("c://sms//"+username);//建立FileReader对象,并实例化为fr
     BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象,并实例化为br
     String Line=br.readLine();//从文件读取一行字符串
     //判断读取到的字符串是否不为空
     
     while(Line!=null){
      int Line1=Integer.parseInt(Line.substring(0,3));
       if(Line.length()!=11   ){
           out.println(Line + "<br>");
         j++;
         Line=br.readLine();
      }else{
          switch(Line1)
       {
        case 130:m++;break;
        case 131:m++;break;
        case 132:m++;break;
        case 133:m++;break;
        case 134:m++;break;
        case 135:m++;break;
        case 136:m++;break;
        case 137:m++;break;
        case 138:m++;break;
        case 139:m++;break;
        case 150:m++;break;
        case 151:m++;break;
        case 152:m++;break;
        case 153:m++;break;
        case 154:m++;break;
        case 155:m++;break;
        case 156:m++;break;
        case 157:m++;break;
        case 158:m++;break;
        case 159:m++;break;
        default : j++;break;
       }
       Line=br.readLine();
       //System.out.println("m="+m);
      
      }
      
     }
     
     n=m+j;
     br.close();//关闭BufferedReader对象
     fr.close();//关闭文件
     if(n>money){
        out.println("对不起,您的帐户余额不够");
     }else{
      out.println(("发送成功!!!!!!").toString());    
      out.println(("总条数"+n+"条;").toString());   
      out.println(("正确号码"+m+"条;").toString());  
      out.println(("错误号码"+j+"条;").toString());    
          //String sql="insert into sendmoneyinfor(userid,lxr,sendmoney,sendcontent,senddate) values('"+userid+"','"+lxr+"','"+m+"','"+sendcontent+"',now())";
          String sql="insert into sendmoneyinfor(userid,lxr,sendmoney,sendcontent,senddate) values('"+userid+"','"+lxr+"','"+m+"','"+sendcontent+"',now())";
          Statement   stmt = conn.createStatement();
          stmt.executeUpdate(sql);
          System.out.println(sql);  
          
          //String sql="insert into sendmoneyinfor(userid,lxr,sendmoney,sendcontent,senddate) values('"+userid+"','"+lxr+"','"+m+"','"+sendcontent+"',now())";
          String sql1="update user_register set money=money-'"+n+"' where id='"+userid+"'";
          Statement   stmt1 = conn.createStatement();
          stmt.executeUpdate(sql1);
          System.out.println(sql1);  
      }  
            }   
            else     
            {   out.println(("上载失败!!!").toString());   }     
            }//与前面的if对应   
            
          
        
         
      %>
      

  3.   

    我想得到的就是sendcontent的值   在此jsp 打印的时候是中文  但到打印那之后  不继续执行了·~