本文實(shí)例講述了mysql從命令行導(dǎo)入sql腳本時出現(xiàn)中文亂碼的解決方法。分享給大家供大家參考,具體如下:
在圖形界面管理工具 mysql Query Browser中打開腳本(腳本包括建庫、建表、添加數(shù)據(jù)),并執(zhí)行,不會有任何問題;但是使用mysql命令行工具執(zhí)行建庫腳本時,添加數(shù)據(jù)中如果包含中文,存入的數(shù)據(jù)就是亂碼或是???。。。
解決方法1:在MySql安裝目錄下找到my.ini,將[mysql]下的default-character-set=latin1改為default-character-set=utf8,保存,然后重啟MySql服務(wù)就可以從命令行成功導(dǎo)入了。缺點(diǎn),因?yàn)椴渴鸬脑挘赡軣o法配置用戶的計(jì)算機(jī),那么方法一就無用武之地了。。。
解決方法2:在數(shù)據(jù)庫腳本文件開頭加入一行 set character set utf8;,在庫名后加入default character set utf8;在表) 后加入default charset =utf8;,在添加數(shù)據(jù)前加入一行 set character set utf8;就可以咯。
注:我使用的MYSQL version是5.1。
set character set utf8; drop database if exists 庫名 create database 庫名 DEFAULT CHARACTER SET utf8; use 庫名; /*==============================================================*/ /* Table: 表名 */ /*==============================================================*/ drop table if exists 表名; create table 表名 ( PID int AUTO_INCREMENT, PName nvarchar(20) null, Remark nvarchar(50) null, constraint PK_POSITION primary key (PID) )DEFAULT CHARSET=utf8; /*=====================================================*/ /*添加數(shù)據(jù)*/ /*=====================================================*/ set character set utf8; insert 表名(PName,Remark) values ('1,''); insert 表名(PName,Remark) values ('2,'');
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計(jì)有所幫助。