服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL从命令行导入SQL脚本时出现中文乱码的解决方法

MySQL从命令行导入SQL脚本时出现中文乱码的解决方法

2020-06-23 15:10hbiao68 Mysql

这篇文章主要介绍了MySQL从命令行导入SQL脚本时出现中文乱码的解决方法,分析了中文乱码出现的原因并给出了两种解决方法供大家参考,需要的朋友可以参考下

本文实例讲述了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。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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数据库计有所帮助。

延伸 · 阅读

精彩推荐