mysql中文問題全處理(2)

發表于:2013-06-03來源:Csdn作者:xyz_lmn點擊數: 標簽:MySQL
| first_name | varchar(20) | YES | | NULL | | | birth | date | YES | | NULL | | | sex | enum(m,f) | YES | | m | | | emmail | varchar(39) | YES | | NULL | | +-------------+------------------+------+---

  | first_name | varchar(20) | YES | | NULL | |

  | birth | date | YES | | NULL | |

  | sex | enum('m','f') | YES | | m | |

  | emmail | varchar(39) | YES | | NULL | |

  +-------------+------------------+------+-----+---------+----------------+

  如果只是這樣的話,就會出現這樣的錯誤:報告的錯誤是:sqle=com.mysql.jdbc.MysqlDataTruncation:

  Data truncation: Data too long

  for column 'last_name' at row 1 從 employee!

  有的情況是:| name |

  +-------------+

  | ?? |

  | 54243654321 |

  | ?? |

  | ?? |

  +-------------+出現問號!

  前面我們已經說過了,mysql默認的編碼是latin1,不是我們所需要的gbk,所以我們要修改成為utf8,因為若要正確顯示中文繁、簡、日文、韓

  文 使用utf8,修改方法如下:

  ALTER DATABASE sample ####這里修改整個數據庫的編碼

  CHARACTER SET utf8

  DEFAULT CHARACTER SET utf8

  COLLATE utf8_general_ci

  DEFAULT COLLATE utf8_general_ci;

  當然了,你也可在在建數據庫的時候指定編碼,比如:

  CREATE DATABASE sample

  CHARACTER SET utf8

  DEFAULT CHARACTER SET utf8

  COLLATE utf8_general_ci

  DEFAULT COLLATE utf8_general_ci ;

  接下來要做的是打開mysql所在的目錄下的my.nin

  在[mysqld]段加入一下代碼改成:default-character-set=utf8 啟動mysql,輸入:執行下列語句,看看結果是不是下面的:mysql> show

  variables like '%character%';+--------------------------+-------------------------------------------+| Variable_name

  | Value |+--------------------------+-------------------------------------------+|

  character_set_client | latin1 || character_set_connection | latin1

  || character_set_database | utf8 || character_set_results | latin1

  || character_set_server | utf8

  | character_set_system | utf8 || character_sets_dir |

  C:/MySQL/MySQL Server 5.0/share/charsets/ |+--------------------------+-------------------------------------------+mysql>

  show variables like '%collation%';+----------------------+-------------------+| Variable_name | Value |+-

  ---------------------+-------------------+| collation_connection | latin1_swedish_ci || collation_database |

  utf8_general_ci || collation_server | utf8_general_ci |+----------------------+-------------------+

  接著你再看看執行那個Mysql.html 文件:這回你可以看到的是

  mysql> select * from employee;

  +-------------+-----------+------------+------------+------+--------------+

  | employee_id | last_name | first_name | birth | sex | emmail |

  +-------------+-----------+------------+------------+------+--------------+

  | 12 | ? | ?? | 1978-12-11 | f | aaa@asdf.com |

  | 13 | ? | ?? | 1978-12-11 | f | aaa@asdf.com |

  | 14 | ? | ?? | 1978-12-11 | f | aaa@asdf.com |

  | 15 | ? | ?? | 1978-12-11 | f | aaa@asdf.com |

  | 16 | ? | ?? | 1978-12-11 | f | aaa@asdf.com |

  | 17 | ? | ?? | 1978-12-11 | f | aaa@asdf.com |

  +-------------+-----------+------------+------------+------+--------------+

  這當然不是我們希望看到的,我們需要的現實完美正確的中文:

  我們還有最后一招:

  mysql> SET NAMES 'gbk' ;

  Query OK, 0 rows affected (0.00 sec)

  因為我們需要的是gbk.

  看看mysql中的character設置情況:

  mysql> SHOW VARIABLES LIKE '%character%' ;

  +--------------------------+-------------------------------------------+

  | Variable_name | Value |

  +--------------------------+-------------------------------------------+

  | character_set_client | gbk |

  | character_set_connection | gbk |

  | character_set_database | utf8 |

  | character_set_results | gbk |

  | character_set_server | utf8 |

  | character_set_system | utf8 |

  | character_sets_dir | C:/MySQL/MySQL Server 5.0/share/charsets/ |

  +--------------------------+-------------------------------------------+

  7 rows in set (0.00 sec)

  mysql> SHOW VARIABLES LIKE '%collation%' ;

  +----------------------+-----------------+

  | Variable_name | Value |

  +----------------------+-----------------+

  | collation_connection | gbk_chinese_ci |

  | collation_database | utf8_general_ci |

  | collation_server | utf8_general_ci |

  +----------------------+-----------------+

  這個才是我們最終需要的。

  在來查看執行完Mysql_jstl.jsp后的數據庫中的結果:

原文轉自:http://blog.csdn.net/xyz_lmn/article/details/4170822

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97