青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

在Java中解決MySQL5.0中文字符集問題全程詳細記錄

     今天被MySQL的中文字符集問題弄得焦頭爛額,最終還是解決了.下面分享一下解決過程。
在網上搜索了很多,網友也有很多精彩的帖子,
但是每個人的情況不總是一樣,所以我覺得我下面的文字有存在的必要。
裝了MySQL5.0后,系統默認的字符集似乎是UTF8,但是不知道為什么就是不支持中文。
下面的是我的痛苦的解決過程。
將數據庫用character set 和 collate指定字符集為gbk,
mysql> create database test2  DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
Query OK, 1 row affected (0.00 sec)
mysql> create table a(a text);
Query OK, 0 rows affected (0.14 sec)
插入的時候也用_gbk指定字符集,
mysql> insert a values(_gbk'默認數據庫的字符集和');
Query OK, 1 row affected (0.05 sec)
但是查詢的時候還是出現亂。
mysql> select * from a;
+--------------------------------+
| a                              |
+--------------------------------+
| 榛樿鏁版嵁搴撶殑瀛楃闆嗗拰           |
+--------------------------------+
1 row in set (0.00 sec)
mysql>
好的,那么是不是創建表也要指定字符集呢?
我們繼續測試:
mysql> create table b(a text) DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
Query OK, 0 rows affected (0.06 sec)
mysql> insert b values(_gbk'默認數據庫的字符集和');
Query OK, 1 row affected (0.01 sec)
mysql> select * from b;
+--------------------------------+
| a                              |
+--------------------------------+
| 榛樿鏁版嵁搴撶殑瀛楃闆嗗拰           |
+--------------------------------+
1 row in set (0.00 sec)
mysql>
同樣出現亂碼?
我們不用_gbk指定字符集呢?
mysql> insert b values('默認數據庫的字符集和');
ERROR 1406 (22001): Data too long for column 'a' at row 1
mysql> insert a values('默認數據庫的字符集和');
ERROR 1406 (22001): Data too long for column 'a' at row 1
這樣發現根本就插入不進數據。
那么到底該怎么解決呢?
運行下面的這幾行命令,就能看到正常的中文了:
mysql> SET character_set_connection = gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> SET character_set_database = gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> SET character_set_results = gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> SET character_set_server = gbk;
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> SET collation_connection = gbk_bin;
Query OK, 0 rows affected (0.00 sec)
mysql> SET collation_database = gbk_bin;
Query OK, 0 rows affected (0.00 sec)
mysql> SET collation_server = gbk_bin;
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> select * from a;
+----------------------+
| a                    |
+----------------------+
| 默認數據庫的字符集和                  |
+----------------------+
1 row in set (0.00 sec)
mysql> select * from b;
+----------------------+
| a                    |
+----------------------+
| 默認數據庫的字符集和                  |
+----------------------+
1 row in set (0.00 sec)
mysql>
這樣設置之后,也可以正常插入中文了:
mysql> insert into a values('當然是聯系 java ');
Query OK, 1 row affected (0.02 sec)
mysql> select * from a;
+----------------------+
| a                    |
+----------------------+
| 默認數據庫的字符集和                  |
| 當然是聯系 java              |
+----------------------+
2 rows in set (0.00 sec)
mysql>
但是如果重啟數據庫客戶端,那么還是不能正確顯示中文,
最徹底的方法就是更改MySQL的配置文件。
在MySQL5.0的安裝目錄找到my.ini文件,將其中以下兩行:
default-character-set=utf8
default-character-set=utf8
改為:
default-character-set=gbk
default-character-set=gbk
重啟MySQL服務器。
重新連接:
mysql> select * from a;
+----------------------+
| a                    |
+----------------------+
| 默認數據庫的字符集和 |
| 當然是聯系 java      |
+----------------------+
2 rows in set (0.02 sec)
現在好了,可以直接讀取中文字符了。
看看插入中文字符情況:
mysql> insert b values('看看插入中文字符情況:');
mysql> insert b values('看看插入中文字符情況:');
Query OK, 1 row affected (0.03 sec)
mysql> select * from b;
+------------------------+
| a                      |
+------------------------+
| 默認數據庫的字符集和   |
| 看看插入中文字符情況: |
+------------------------+
2 rows in set (0.00 sec)
mysql>
下面再看看創建表的情況:
mysql> create table c(a text);
Query OK, 0 rows affected (0.06 sec)
mysql> insert into c values();
Query OK, 1 row affected (0.01 sec)
mysql> insert into c values('下面再看看創建表的情況:');
Query OK, 1 row affected (0.02 sec)
mysql> select * from c;
+--------------------------+
| a                        |
+--------------------------+
| NULL                     |
| 下面再看看創建表的情況: |
+--------------------------+
2 rows in set (0.00 sec)
mysql>
一切正常了。
下面看看程序中的情況:
 

package test;
/**
* 該程序用來測試JDBC和MySQL連接,然后插入中文字符到數據庫中。
* 其中用到的表為:
* CREATE TABLE MessageBoard (
* ID int(10) unsigned NOT NULL default '0',
* title varchar(255) NOT NULL default '',
* content text NOT NULL,
* author varchar(20) NOT NULL default '',
* time datetime NOT NULL default '0000-00-00 00:00:00',
* modifyTime datetime NOT NULL default '0000-00-00 00:00:00',
* PRIMARY KEY (ID)
* ) ;
*
*/

import java.sql.*;
public class InsertChineseCharacterJDBC
{
 static
 {
  try
  {
   //驅動和odbc不同

   Class.forName ( "org.gjt.mm.mysql.Driver" );
   System.out.println ( "success loading mysql Driver...." );
  } catch ( Exception e )
  {
   System.out.println ( "Error loading mysql Driver....." );
   e.printStackTrace ( );
  }
 }
 /**
  * @param args
  */

 public static void main ( String agrs[] )
 {
  try
  {
   //連接參數與Access不同

   String url = "jdbc:mysql://localhost/BohaoDB";
   //建立連接

   Connection con = DriverManager.getConnection ( url, "root", "011124" );
   //建立發送SQL命令的Statement對象

   Statement stmt = con.createStatement ( );
   //返回查詢結果

   int flag = stmt.executeUpdate ( "insert into MessageBoard(ID,title,content,author,time,modifyTime) values(1,'大家好!','我是新來,請多多關照!','zieckey','2007-01-28 20:03:50','2007-01-27 20:03:50');" );
   if ( 1==flag )
   {
    System.out.println ("插入中文字符到數據庫成功!");
   }else {
    System.out.println ("插入中文字符到數據庫失敗!");
   }
   ResultSet rs = stmt.executeQuery ( "select * from MessageBoard" );

   /**
    * 取出列屬性!
    */

   ResultSetMetaData md = rs.getMetaData ( );
   int col = md.getColumnCount ( );
   for ( int i = 1; i <= col; i++ )
   {
    System.out.println ( md.getColumnName ( i ) + "\t" );
   }
   /**
    * 取出列值!
    */

   while ( rs.next ( ) )
   {
    String strData = "";
    for ( int i = 1; i <= col; i++ )
    {
     strData = strData + rs.getString ( i ) + "\t";
    }
    System.out.println ( strData );
   }
   //斷開Connection連接

   rs.close();
   stmt.close();
   con.close ( );
  } catch ( SQLException e )
  {
   e.printStackTrace ( );
  }
 }
}

運行輸出:
success loading mysql Driver....
插入中文字符到數據庫成功!
ID
title
content
author
time
modifyTime
1 大家好! 我是新來,請多多關照! zieckey 2007-01-28 20:03:50.0 2007-01-27 20:03:50.0

posted on 2009-06-23 13:22 肥仔 閱讀(556) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费成人高清视频| 老司机精品视频一区二区三区| 国产精品爱啪在线线免费观看| 欧美wwwwww| 欧美日韩成人在线视频| 欧美a级理论片| 欧美区在线播放| 国产精品私拍pans大尺度在线 | 亚洲一区二区精品在线观看| 一区二区三区日韩精品| 午夜一级久久| 久久综合激情| 欧美日韩精品不卡| 国内精品**久久毛片app| 亚洲丶国产丶欧美一区二区三区 | 欧美日韩精品一本二本三本| 国产精品久久久久毛片大屁完整版| 国产精自产拍久久久久久蜜| 国产在线日韩| 宅男在线国产精品| 久久免费高清| 99riav1国产精品视频| 欧美亚洲在线视频| 欧美第一黄网免费网站| 国产精品毛片高清在线完整版| 韩国欧美一区| 亚洲自拍另类| 91久久精品久久国产性色也91| 中国av一区| 蜜臀av性久久久久蜜臀aⅴ| 亚洲视频在线观看| 日韩视频一区二区在线观看| 亚洲一区二区高清视频| 久久久99久久精品女同性| 欧美激情网友自拍| 欧美一级在线视频| 欧美日韩国产精品成人| 在线视频国产日韩| 欧美影院视频| 国产精品99久久久久久有的能看| 久久亚洲精选| 国产一区二区高清视频| 正在播放亚洲一区| 欧美激情第1页| 久久久天天操| 狠狠综合久久| 久久久免费精品| 午夜精品999| 国产精品日韩欧美一区| aa国产精品| 亚洲国产欧美日韩精品| 久久综合网hezyo| 红杏aⅴ成人免费视频| 久久精品国产精品亚洲| 亚洲欧美日韩一区二区在线| 欧美日韩一区精品| 亚洲无毛电影| 亚洲一级在线| 国产日韩在线一区| 久久久久久久久久久久久9999| 亚洲在线国产日韩欧美| 国产精品国产三级国产| 亚洲一品av免费观看| 99这里只有精品| 欧美视频一区二区三区| 亚洲一区二区精品视频| 在线视频亚洲一区| 国产精品三级久久久久久电影| 香蕉成人久久| 久久久精品视频成人| 在线观看欧美一区| 亚洲国产精品久久久久| 欧美日韩另类一区| 欧美在线啊v一区| 久久精品视频在线免费观看| 亚洲国产黄色| 亚洲精品视频在线看| 国产精品乱码| 久久亚洲一区二区| 欧美久久久久久久久| 亚洲欧美激情在线视频| 新狼窝色av性久久久久久| 亚洲电影下载| 夜夜爽av福利精品导航| 国产偷自视频区视频一区二区 | 久久精品123| 久久久久久穴| 亚洲视屏一区| 久久久精品tv| 国产美女精品视频免费观看| 蜜桃精品久久久久久久免费影院| 亚洲国产精品精华液2区45| 亚洲国产一区二区三区在线播| 欧美精品激情blacked18| 亚洲无吗在线| 久久九九国产精品| 日韩一本二本av| 欧美一区二区三区喷汁尤物| 亚洲另类视频| 欧美在线观看你懂的| 亚洲乱码国产乱码精品精可以看 | 欧美jizzhd精品欧美巨大免费| 亚洲图片欧洲图片日韩av| 久久精品国产亚洲一区二区三区| 亚洲精品在线看| 欧美伊人精品成人久久综合97| 亚洲精品日韩在线观看| 亚洲欧美日韩一区二区| 一区二区三区高清| 久久亚洲一区二区| 欧美与欧洲交xxxx免费观看| 欧美精品电影| 亚洲成色www8888| 亚洲激情六月丁香| 夜夜精品视频一区二区| 伊人精品久久久久7777| 亚洲一区免费在线观看| 99精品热视频| 免费亚洲一区| 久热精品在线| 国产在线观看一区| 亚洲欧美日韩国产一区| 中文无字幕一区二区三区| 蜜桃精品久久久久久久免费影院| 久久精品动漫| 国产一区二区三区免费不卡| 亚洲无亚洲人成网站77777| 一区二区三区免费网站| 欧美国产91| 亚洲高清123| 91久久国产综合久久| 久久亚洲国产成人| 欧美成年人网| 亚洲三级免费电影| 欧美国产亚洲精品久久久8v| 女人香蕉久久**毛片精品| 黄色综合网站| 美国十次成人| 你懂的视频一区二区| 亚洲第一福利视频| 看欧美日韩国产| 亚洲国产欧美久久| 一区二区三区成人精品| 欧美性天天影院| 亚洲一区亚洲| 久久高清福利视频| 黄色成人精品网站| 欧美电影在线观看完整版| 亚洲精品视频在线看| 亚洲免费一在线| 国产亚洲欧美日韩一区二区| 久久动漫亚洲| 午夜在线观看免费一区| 91久久精品国产91久久性色| 免费毛片一区二区三区久久久| 亚洲国产精品福利| 亚洲一区二区三区影院| 国产精品尤物福利片在线观看| 午夜在线视频一区二区区别| 久久亚洲影音av资源网| 亚洲精品久久久一区二区三区| 欧美国产高潮xxxx1819| 一本不卡影院| 久久在线免费观看视频| 日韩天堂av| 国产欧美精品一区二区色综合 | 亚洲欧美日韩国产成人精品影院 | 亚洲一区激情| 欧美成年人视频网站欧美| 一区二区三区精品久久久| 国产欧美日韩一区| 你懂的成人av| 亚洲男人的天堂在线aⅴ视频| 老司机午夜精品| 亚洲一级片在线看| 亚洲第一成人在线| 国产精品视频成人| 欧美高清视频一区二区| 亚洲欧美资源在线| 亚洲另类在线视频| 你懂的成人av| 欧美在线高清视频| 宅男精品视频| 亚洲精品日韩在线| 一区二区三区自拍| 国产精品一区=区| 欧美国产日韩xxxxx| 久久精品亚洲一区| 亚洲欧美日产图| 亚洲网站在线看| 亚洲另类自拍| 亚洲激精日韩激精欧美精品| 久久久久亚洲综合| 欧美一区二区三区四区视频| 夜夜嗨一区二区| 亚洲精品一区二区三区av| 在线观看国产欧美| 一区二区三区在线视频免费观看| 国产欧美日韩综合一区在线观看| 欧美调教视频|