本文執行個體講述了MySQL從命令列匯入SQL指令碼時出現中文亂碼的解決方案。分享給大家供大家參考,具體如下:
在圖形介面管理工具 MySql Query Browser中開啟指令碼(指令碼包括建庫、建表、添加資料),並執行,不會有任何問題;但是使用mysql命令列工具執行建庫指令碼時,添加資料中如果包含中文,存入的資料就是亂碼或是???。。。
解決方案1:在MySql安裝目錄下找到my.ini,將[mysql]下的default-character-set=latin1改為default-character-set=utf8,儲存,然後重啟MySql服務就可以從命令列成功匯入了。缺點,因為部署的話,可能無法配置使用者的電腦,那麼方法一就無用武之地了。。。
解決方案2:在資料庫指令碼檔案開頭加入一行 set character set utf8;,在庫名後加入default character set utf8;在表) 後加入default charset =utf8;,在添加資料前加入一行 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;/*=====================================================*//*添加資料*//*=====================================================*/set character set utf8;insert 表名(PName,Remark) values ('1,'');insert 表名(PName,Remark) values ('2,'');
更多關於MySQL相關內容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL日誌操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL預存程序技巧大全》、《MySQL資料庫鎖相關技巧匯總》及《MySQL常用函數大匯總》
希望本文所述對大家MySQL資料庫計有所協助。