页面编码有没有设为:iso8859_1

解决方案 »

  1.   

    我说的乱码不是中文问题造成的,是加密产生的,因为其中含有非法字符所以破坏了jsp或javascript代码。
      

  2.   

    package com.wfsw;import java.sql.*;
    import java.lang.*;
     
    public class dbcon {
      Connection conn = null;
      public Connection getConn(){    try {
          Class.forName("oracle.jdbc.driver.OracleDriver");
          conn = DriverManager.getConnection("jdbc:oracle:thin:@76.48.56.7:1521:test", "wfsw", "wfsw");
        }
        catch (Exception e) {
          e.printStackTrace();
        }
        return conn;
      }
    }
      /**********
      定义一个对中文字符进行编码转换的方法
      */
      public String ex_chinese(String str){
        if(str==null||str.length()==0){
          str  ="" ;
        }
        else{
          try {
            str = new String(str.getBytes("iso-8859-1"),"GBK") ;
          }
          catch (Exception ex) {
          }
        }
        return str ;
      }试试这个<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <html>
    <head>
    <title>del fwjg</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <jsp:useBean id="beancon" scope="page" class="com.wfsw.dbcon" />
    <body>
    <%
        /*
        *String url  = 上一页URL
        *String db   = 数据库名       <-必要参数
        *String tjzd = 条件字段       <-必要参数
        *String t    = 条件字段值     <-必要参数
        *String xgzd = 修改字段       <-必要参数
        *String x    = 修改字段值     <-必要参数
        *String msg  = 提示信息
        */
      try {
        String url  = request.getHeader("Referer");                            //上一页URL
        String db   = beancon.ex_chinese(request.getParameter("db"));          //数据库名
        String tjzd = beancon.ex_chinese(request.getParameter("tjzd"));        //条件字段
        String t    = beancon.ex_chinese(request.getParameter("t"));           //条件字段值
        String xgzd = beancon.ex_chinese(request.getParameter("xgzd"));        //修改字段
        String x    = beancon.ex_chinese(request.getParameter("x"));           //修改字段值
        Connection con = beancon.getConn();
        Statement stmt = con.createStatement();
        String sql="update "+db+" set "+xgzd+" = '"+x+"' where "+tjzd+"="+t;
        stmt.executeUpdate(sql);
        stmt.close();
        con.close();
    //判断是否显示msg
        if (!(request.getParameter("msg")==null)){
          String msg=beancon.ex_chinese(request.getParameter("msg"));
          out.print("<script language='JavaScript' type='text/JavaScript'>alert (\""+msg+"\");self.location=\""+url+"\";</script>");
        }else{
          response.sendRedirect(url);
        }
      }
      catch(java.sql.SQLException ex){
        out.print(ex);
      }
      catch(Exception e){
        out.println(e);
      }
    %></body>
    </html>