我想用form往mysql里输入数据 mysql 数据库名字notepad 
表notepadtable 
字段 ueername email doc 都是text的 乱码 这是什么意思? 
我的源代码 <%@ page import="java.sql.*"%> 
<%@ page contentType="text/html; charset=gbk" %> 
<%@ page language="java" %> 
<%@ page import="com.mysql.jdbc.Driver" %> 
<%@ page import="java.sql.*" %> <%! 
public String getStr(String str){ 
try{String temp_p=str; 
byte[] temp_t=temp_p.getBytes("ISO8859-1"); 
String temp=new String(temp_t); 
  return temp; 
  } 
catch(Exception e){ } 
return “NULL”; 

%> <% 
request.setCharacterEncoding("gbk"); 
      Connection con=null; 
   String username=request.getParameter("username"); 
username=getStr(username); 
   String email=request.getParameter("email"); 
email=getStr(email); 
   String doc=request.getParameter("doc"); 
doc=getStr(doc); 
   
   try { 
     Class.forName("com.mysql.jdbc.Driver"); 
          Connection connection=DriverManager.getConnection( 
          "jdbc:mysql://localhost:3306/notepad,"root","1234";);      String str="insert into notepadtable(username,email,doc) values(?,?,?);"; 
     PreparedStatement pstmt=con.prepareStatement(str); 
     pstmt.setString(1,username); 
     pstmt.setString(2,email); 
     pstmt.setString(3,doc); 
     pstmt.executeUpdate(); 
     pstmt.close(); 
     connection.close(); 
    } 
   catch(Exception e) { 
     out.println(e.getMessage()); 
    } 
%> 
html 
<html> 
   <body> 
    <form method="post" action="notepadinsert.jsp"> 
     <br>姓名: 
     <input name=username size=55 value=""> 
     <br>邮箱: 
     <input name=email size=55 value=""> 
     <br>留言: 
     <br> 
     <textarea name=doc rows="10" cols="40"> 
     </textarea> 
     <br> 
     <input type=submit value="递交"> 
     <input type=reset value="重填"> 
    </form> 
   </bocy> 
   </html>

解决方案 »

  1.   

    这是错误:::type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 7 in the jsp file: /notepadinsert.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\notepad\org\apache\jsp\notepadinsert_jsp.java:21: 非法字符: \8220
    return 鈥淣ULL鈥?; 
                   ^
    An error occurred at line: 7 in the jsp file: /notepadinsert.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\notepad\org\apache\jsp\notepadinsert_jsp.java:21: 非法字符: \8221
    return 鈥淣ULL鈥?; .
    .
    .
    .
    .
    .
    .
    .An error occurred at line: 19 in the jsp file: /notepadinsert.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\notepad\org\apache\jsp\notepadinsert_jsp.java:91: 需要 ';'
    ^
    79 错误 org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
    --------------------------------------------------------------------------------
      

  2.   

    <%@ page contentType="text/html; charset=gbk" %> 
    byte[] temp_t=temp_p.getBytes("ISO8859-1"); 都换成utf-8试试。。
      

  3.   

    要是用的话要都用utf-8的,包括数据库
      

  4.   

    同意楼上意见,换成 UTF-8试试看
      

  5.   

    byte[] temp_t=temp_p.getBytes("ISO8859-1"); 
    改下GB2312的吧
      

  6.   

    中文需要转码。。这是 java web 开发的常识了楼主谨记
      

  7.   

    改成UTF-8,可能编辑器里的好了,但网页中还是乱码!有没有这现象?