>  -----Original Message-----
> From:         michael_wu[吳宏達]  
> Sent: Wednesday, May 26, 2004 9:12 AM
> To:   [EMAIL PROTECTED]
> Subject:      Re: FW: create database in specified character set
> 
> Hi Hassan again,
>      Thanks for your kindly support.  My program now works.  I post
> the source code here so that the others who run into the same
> problem can refer to it.  Hope it helps!
> Regards,
> /**
>  * <p>Title: testMySQL411.java</p>
>  * <p>Description: This is a simple programming exercise to get to know
> MySQLs' unicode support </p>
>  * @author Michael Wu ([EMAIL PROTECTED])
>  */
> 
> import java.io.*;
> import java.sql.*;
> 
> public class testMySQL411 {
>   private static final String dbUser = "root";
>   private static final String dbPwd = "";
>   private static final String dbSvr = "localhost";
>   /* I created this database with the following SQL command:
>      CREATE DATABASE trdb CHARACTER SET utf8;
>   */
>   private static final String dbSrc = "trdb";
> 
>   public static void main(String argv[]) {
>   try {
>      String jdbcDriver = "com.mysql.jdbc.Driver";
>      Class.forName(jdbcDriver).newInstance();
>      // the connect url must specify
> useUnicode=true&characterEncoding=UTF-8;
>      // specify characterEncoding=UTF-8 alone won't work
>      Connection conn =
> DriverManager.getConnection("jdbc:mysql://"+dbSvr+"/"+dbSrc+
>  
> "?useUnicode=true&characterEncoding=UTF-8"/*required*/,
>                              dbUser, dbPwd);
>      conn.setAutoCommit(false);
>      // dump the current content of the table
>      Statement stmt = conn.createStatement();
>      ResultSet rs = stmt.executeQuery("select * from customer");
>      while (rs.next()) {
>        String nameout = rs.getString("Name");
>        System.out.println(nameout);
>        int age = rs.getInt("Age");
>        System.out.println(age);
>      }
>      rs.close();
>      rs = null;
>      int count = stmt.executeUpdate("delete from customer");
>      System.out.println("Count="+count);
>      stmt.close();
>      stmt = null;
>      String name = "a小孩"; // a string with traditional chinese
> characters;
>      // replace it with a string which consists of characters in your
> local language
>      PreparedStatement pstmt = conn.prepareStatement("insert into
> customer(name, age) values(?,?)");
>      pstmt.setString(1, name);
>      pstmt.setInt(2, 38);
>      pstmt.executeUpdate();
>      conn.commit();
>      pstmt.close();
>      pstmt = conn.prepareStatement("select name from customer");
>      rs = pstmt.executeQuery();
>      while (rs.next()) {
>         String nameout = rs.getString("name");
>         System.out.println(nameout);
>      }
>      conn.close();
>   } catch( Exception ex ) {
>     System.out.println(ex.getMessage());
>     ex.printStackTrace();
>   }
>   System.out.println("+---------- END of simple unicode support Test
> ------------+\n");
>  }
> }
> 
> michael_wu[吳宏達] wrote:
> 
> > Many thanks!  I had downloaded V4.1.1 and created a database in utf8
> > character set.
> > I successfully created a table and inserted rows of data with VARCHAR
> > columns into the table through the SQL pad.
> > With the Control Center GUI, I can see the result.  It seems the data in
> the
> > table are right.  I can see the multiple byte
> > characters in the varchar columns.  However, when my application
> selected
> > data through JDBC, the returned strings are wrong.
> > Looks the returned strings are not in the right character set. 
> 
> How are you displaying the data returned via JDBC? As a JSP page
> or in a Java GUI (Swing/AWT) app?
> 
> If the former, servlet containers default to ISO-8859-1 encoding...
> 
> What version of Connector/J are you using, and are you specifying
> Unicode and charset in your connection URL, e.g.
> 
>  jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8
>
> -- 
> Hassan Schroeder ----------------------------- [EMAIL PROTECTED]
> Webtuitive Design ===  (+1) 408-938-0567   === http://webtuitive.com
> 
>                           dream.  code.
> 

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to