《Mysql實例mysql命令行導入sql腳本中文亂碼問題的解決方法》要點:
本文介紹了Mysql實例mysql命令行導入sql腳本中文亂碼問題的解決方法,希望對您有用。如果有疑問,可以聯系我們。
導讀:在圖形界面管理工具 mysql query browser中打開腳本(腳本包括建庫、建表、添加數據),并執行,不會有任何問題;但是使用mysql命令行工具...
在圖形界面管理工具 mysql query browser中打開腳本(腳本包括建庫、建表、添加數據),并執行,不會有任何問題;
但是使用mysql命令行工具執行建庫腳本時,添加數據中如果包含中文,存入的數據就是亂碼或是???.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.
附:我的建庫腳本(部分代碼):
?MYSQL數據庫
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,'');?
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/6166.html