EXCEL存為純文本格式,然后利用記事本打開另存為UTF8,最好是EDITPLUS、ULTRAEDIT等處理為無BOM的UTF8,這樣在MYSQL導(dǎo)入能成功。
創(chuàng)新互聯(lián)建站專業(yè)提供雙線服務(wù)器托管服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買雙線服務(wù)器托管服務(wù),并享受7*24小時(shí)金牌售后服務(wù)。
MYSQL導(dǎo)入建議執(zhí)行MYSQL.EXE在DOS下執(zhí)行SQL導(dǎo)入,例如:
load data infile 'e:/backup/insur_info.dat' into table insur_info;
如果是WEB操作,還需要WEB網(wǎng)頁的編碼也是UTF8,否則都會(huì)出現(xiàn)亂碼、或者導(dǎo)入失敗。
MySQL 中何存中文方法如下:
1、create table的時(shí)候加上:ENGINE=InnoDB DEFAULT CHARSET=gbk;
例如:
CREATE TABLE t_department (
sid varchar(32) NOT NULL,
pid varchar(32) NOT NULL,
thedata varchar(50) NOT NULL
ENGINE=InnoDB DEFAULT CHARSET=gbk;
2、打開MySQL目錄下的my.ini文件,把里面所有的default-character-set選項(xiàng)設(shè)為GBK或者GB2312,保存后重啟MySQL。
3、mysql數(shù)據(jù)庫安裝的時(shí)候。選擇語言為gbk,這樣在數(shù)據(jù)庫中才可以存放中文。
A. 字符編碼:
使用命令行方式登陸到MySQL服務(wù)器, 建立一個(gè)數(shù)據(jù)庫,數(shù)據(jù)庫編碼設(shè)為UTF-8。此時(shí),如果直接在命令行窗口使用insert語句插入中文,就遇到類似 ERROR 1406 (22001): Data too long for column 'name' at row 1 錯(cuò)誤。乍一看,是字段長度引起的問題,但是實(shí)際是字符編碼的問題。可是嘗試以下解決方法:
1、在Linux中,使用終端方式登陸MySQL服務(wù)器,運(yùn)行以下命令:
set names utf8;
該命令將終端的字符編碼設(shè)為了UTF-8。此后再插入數(shù)據(jù)庫中的內(nèi)容都會(huì)按照UTF-8的編碼來處理。
注意:在Linux中,終端方式中直接插入中文內(nèi)容,可能并不會(huì)出現(xiàn)1406錯(cuò)誤,但是這時(shí)插入的數(shù)據(jù)
是按照系統(tǒng)的默認(rèn)編碼進(jìn)行處理。因此對(duì)編碼為UTF-8的數(shù)據(jù)庫,在顯示數(shù)據(jù)的地方可能會(huì)出現(xiàn)亂碼。
2、在Windows下,命令行窗口不支持UTF-8編碼,所以使用“set names utf8;”不會(huì)達(dá)到轉(zhuǎn)化中文的
效果。但是這個(gè)問題還是可以解決的:
(1)使用默認(rèn)編碼建立數(shù)據(jù)庫。這種情況下就可以直接輸入中文了,但是相應(yīng)的問題,就是會(huì)
失去UTF-8編碼的靈活性。特別是不利于軟件的國際化。
(2)放棄命令行窗口登錄MySQL,使用圖形化客戶端??蛻舳斯ぞ呖梢訫ySQL的官方網(wǎng)站上找到。
B. Mysql配置文件:
“在my.ini里找到sql- mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'把其中 的STRICT_TRANS_TABLES,去掉,或者把sql- mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注釋掉,然 后重啟mysql就ok了
1,創(chuàng)建table的時(shí)候就使用utf8編碼
舉個(gè)例子:
在每次創(chuàng)建表的時(shí)候都在最后加上 character set = utf8 就可以很好的支持中文。
2,修改已經(jīng)有的table的編碼
當(dāng)使用默認(rèn)編碼創(chuàng)建了一個(gè)table的時(shí)候,是不能支持中文的,這時(shí)候使用如下語句對(duì)table_name進(jìn)行修改:
此后再往這個(gè)table插入中文的時(shí)候,就可以正常存儲(chǔ)和讀取了,但不知道為什么之前的亂碼還是不能糾正,只能新插入的數(shù)據(jù)沒有問題。
[注意] 我google了一下,有些地方說這個(gè)命令也行,但是我測試以后并不行
alter table table_name charset=utf8; #這個(gè)語句并沒有讓table_name支持中文
網(wǎng)頁題目:在mysql怎么導(dǎo)入中文 mysql怎么導(dǎo)入數(shù)據(jù)文本
新聞來源:http://jinyejixie.com/article28/dosgpjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航、網(wǎng)站建設(shè)、定制網(wǎng)站、品牌網(wǎng)站制作、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)