MySQL中文建表問題解析
MySQL中文建表問題的確很讓人頭疼,下面就為您舉例說明MySQL中文建表問題,如果您之前遇到過MySQL中文建表問題,不妨一看。
數(shù)據(jù)庫中數(shù)據(jù)的導(dǎo)入導(dǎo)出是一個最簡單, 也是最必須的功能.
比如系統(tǒng)在開發(fā)時候在個人PC機(jī)上, 數(shù)據(jù)庫有很多的初始化數(shù)據(jù), 系統(tǒng)開發(fā)完成了, 則要把這些初始化數(shù)據(jù)從PC機(jī)上導(dǎo)出成SQL腳本, 在服務(wù)器上只要導(dǎo)入這些SQL腳本即可完成數(shù)據(jù)庫初始化.
但是, 對于中文字符的導(dǎo)入?yún)s成了大問題, 導(dǎo)入中文, 數(shù)據(jù)老是報錯"Data too long for column XX at row n"
這個問題一直困擾著我, 由于以前數(shù)據(jù)量比較小, 也就不用導(dǎo)入功能, 大不了再重新初始化一次了. 如今不行了, 初始化數(shù)據(jù)實(shí)在太多, 不可能重新初始化, 但我一直認(rèn)為一定會有辦法解決這個問題, 今天上網(wǎng)找資料搞了大半天, 這個問題基本解決.
為了清楚描述這個問題, 現(xiàn)詳細(xì)講解如下:
1. 建數(shù)據(jù)庫
Microsoft Windows XP [版本 5.1.2600]
(C) 版權(quán)所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\awish>mysql -u root -p
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 24 to server version: 5.0.27-community-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database test;
2. 設(shè)置數(shù)據(jù)編碼為utf8
- mysql> use test;
- Database changed
- mysql> set names utf8; //設(shè)置數(shù)據(jù)庫字符集為utf8
- Query OK, 0 rows affected (0.00 sec)
3. 創(chuàng)建數(shù)據(jù)表
- mysql> CREATE TABLE person
- -> (
- -> id INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
- -> name varchar(16) default 'nobody',
- -> birthday char(19),
- -> )ENGINE=InnoDB DEFAULT CHARSET=utf8//創(chuàng)建數(shù)據(jù)表,字符集設(shè)定為utf8
- -> ;
- Query OK, 0 rows affected (0.03 sec)
【編輯推薦】