mysql命令行导入sql脚本中文乱码问题的解决方法

发布时间:2020-03-28编辑:脚本学堂
在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,'');