Myeclispe the insertion of Chinese data into MySQL? Problem-solving approach

Source: Internet
Author: User

Perhaps a lot of people will appear?? This headache of MySQL's Chinese garbled problem: resolved as follows:

1. Set the default character set to UTF-8 for the newly created database first

Create Database default character set UTF8 collate utf8_general_ci;

2. Then set the default charset for the table you want to correspond to

CREATE TABLE IF  not EXISTS ' MyDB ' (  varchar(notNULL  ,int(  One  not NULL , ) ENGINE=DEFAULT CHARSET=UTF8;

3. The most important step is to add the following statement to the address of the URI in JDBC? Characterencoding=utf-8 sets the character set to UTF-8

Jdbc:mysql://localhost:3306/db_name?characterencoding=utf-8

Here is an example:
Regservlet.java

 PackageCn.lonecloud.demo;Importjava.io.IOException;ImportJava.io.PrintWriter;Importjava.sql.Connection;ImportJava.sql.DriverManager;Importjava.sql.PreparedStatement;ImportJava.sql.ResultSet;Importjavax.servlet.ServletException;ImportJavax.servlet.http.HttpServlet;Importjavax.servlet.http.HttpServletRequest;ImportJavax.servlet.http.HttpServletResponse;Importjavax.servlet.http.HttpSession; Public classRegservletextendsHttpServlet { Public voiddoget (httpservletrequest request, httpservletresponse response)throwsservletexception, IOException {response.setcontenttype ("Text/html"); PrintWriter out=Response.getwriter ();    DoPost (request, response); }     Public voidDoPost (httpservletrequest request, httpservletresponse response)throwsservletexception, IOException {response.setcontenttype ("Text/html;charset=utf-8"); PrintWriter out=Response.getwriter (); Connection Conn=NULL; PreparedStatement PRST=NULL; ResultSet RS=NULL; String Db_driver= "Com.mysql.jdbc.Driver"; String Db_url= "Jdbc:mysql://localhost:3306/db_friend?characterencoding=utf-8"; String Db_user= "Root"; String Db_password=""; String SQL1= "SELECT * from UserInfo where username=?"; String SQL2= "INSERT into userinfo values (?,?)"; Try{String username=request.getparameter ("UserName"); String Userpass=request.getparameter ("Password");            Class.forName (Db_driver); Conn=drivermanager.getconnection (Db_url,db_user,db_password); PRST=conn.preparestatement (SQL1); Prst.setstring (1, username); RS=Prst.executequery (); if(!Rs.next ()) {PRST=conn.preparestatement (SQL2); Prst.setstring (1, username); Prst.setstring (2, Userpass); intCount=prst.executeupdate (); if(count!=0) {HttpSession session=request.getsession (); Session.setattribute ("Username", username); Request.setattribute ("MSG", "Registered successfully!" "); Request.getrequestdispatcher ("Index.jsp"). Forward (request, response); }Else{Request.setattribute ("MSG", "Login failed, password error!" "); Request.getrequestdispatcher ("Error.jsp"). Forward (request, response); }            }Else{Request.setattribute ("MSG", "User does not exist!" "); Request.getrequestdispatcher ("Error.jsp"). Forward (request, response); }        } Catch(Exception e) {//Todo:handle ExceptionE.printstacktrace (); }finally{            if(rs!=NULL) {                Try{rs.close (); } Catch(Exception E2) {//Todo:handle ExceptionE2.printstacktrace (); }            }            if(prst!=NULL) {                Try{prst.close (); } Catch(Exception E2) {//Todo:handle ExceptionE2.printstacktrace (); }            }            if(conn!=NULL) {                Try{conn.close (); } Catch(Exception E2) {//Todo:handle ExceptionE2.printstacktrace ();        }} out.close (); }    }}

reg.jsp

<%@ page language= "java" contenttype= "text/html; Charset=utf-8 "    pageencoding=" UTF-8 "%><! DOCTYPE HTML PUBLIC "-//w3c//dtd HTML 4.01 transitional//en" "Http://www.w3.org/TR/html4/loose.dtd" >

Loginfilter.java

 PackageCn.lonecloud.demo;Importjava.io.IOException;ImportJavax.servlet.Filter;ImportJavax.servlet.FilterChain;ImportJavax.servlet.FilterConfig;Importjavax.servlet.ServletException;Importjavax.servlet.ServletRequest;ImportJavax.servlet.ServletResponse;Importjavax.servlet.http.HttpServletRequest;ImportJavax.servlet.http.HttpServletResponse;Importjavax.servlet.http.HttpSession; Public classLoginfilterImplementsFilter {@Override Public voiddestroy () {//TODO auto-generated Method Stub} @Override Public voidDoFilter (servletrequest request, servletresponse response, Filterchain chain)throwsIOException, servletexception {//The following two sentences must be added to the filter, otherwise you will not be able to invoke the following methodHttpServletRequest req=(httpservletrequest) request; HttpServletResponse resp=(httpservletresponse) response; Request.setcharacterencoding ("UTF-8"); String Path=Req.getservletpath (); HttpSession Session=req.getsession (); String username= (String) session.getattribute ("username");        SYSTEM.OUT.PRINTLN (path); BooleanB1=path.endswith ("login.jsp"); BooleanB2=path.endswith ("error.jsp"); BooleanB3=path.endswith ("Loginservlet"); BooleanB4=path.endswith ("Regservlet"); BooleanB5=path.endswith ("reg.jsp"); BooleanB6= (username!=NULL); if(b1| | b2| | b3| | b4| | b5| |b6)        {Chain.dofilter (request, response); }Else{resp.sendredirect ("Error.jsp"); }} @Override Public voidInit (Filterconfig arg0)throwsservletexception {//TODO auto-generated Method Stub            }    }

Myeclispe the insertion of Chinese data into MySQL? Problem-solving approach

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.