欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Mysql中文乱码及导出sql语句和Excel的相关解决方法

程序员文章站 2024-02-02 22:35:34
...

这几天基于Heritrix写了一个爬虫,用到mysql,在导入导出数据时,遇到一些乱码问题,好不容易解决了,记录一下,以备查看。 一、导出数据。 先说明一下自己的环境:Mac OS X 10.8.3, MySQL Community Server 5.6.10, MySQL Workbench 5.2.47。 我想把本机数

  这几天基于Heritrix写了一个爬虫,用到mysql,在导入导出数据时,遇到一些乱码问题,好不容易解决了,记录一下,以备查看。

  一、导出数据。

  先说明一下自己的环境:Mac OS X 10.8.3, MySQL Community Server 5.6.10, MySQL Workbench 5.2.47。

  我想把本机数据库内的数据迁移到另一台机器上,于是使用Workbench中自带的import/export功能,其实就是调用mysqldump。不幸的是,出现了版本不一致的错误。

Mysql中文乱码及导出sql语句和Excel的相关解决方法

Mysql中文乱码及导出sql语句和Excel的相关解决方法

Mysql中文乱码及导出sql语句和Excel的相关解决方法

Mysql中文乱码及导出sql语句和Excel的相关解决方法

  错误没治了,最终找到解决方案,可以指定mysql的mysqldump,路径为:/usr/local/mysql/bin/mysqldump,这样是把数据导出为sql语句的insert语句。

  由于需要是把数据导出为excel,所以通过mysql控制台使用select语句把数据导出到excel文件中。

  下面先介绍怎么导出为excel文件,然后介绍怎么导出为insert语句。

  1、通过终端操作。

  1 cd /usr/local/mysql/bin/

  2、到达bin目录后,可以ls -l命令看看当前目录有哪些程序可以用,这里先用mysql,命令格式为:

  mysql -h主机IP -u用户名 -p密码

  如:

  1 ./mysql -hlocalhost -uroot -p123456

  注意前面加的"./"。

  这时就进入mysql命令控制台,终端上显示为:

Mysql中文乱码及导出sql语句和Excel的相关解决方法

  3、然后通过show databases命令查看当前的所有数据库,,使用use命令选择进入某个数据库,注意每个命令都要以英文分号“;”结束。

Mysql中文乱码及导出sql语句和Excel的相关解决方法

  4、使用sql语句导出需要的数据,sql语句不限于单个表的查询。由于我的数据库编码是utf8格式,而office默认的编码则是gb2312,所以当某个字段中包含中文时,导出到excel后,中文内容是会乱码的,此时需要convert转换编码,具体使用方式:

Mysql中文乱码及导出sql语句和Excel的相关解决方法

  我试着把文件保存到桌面,但始终提示没有权限,应该是和用户有关吧,无视了。当使用“./”这个路径保存时,实际是保存到了/usr/local/mysql/data下面。打开看看,哟西,不乱码了。