>  기사  >  데이터 베이스  >  Mysql中文乱码及导出sql语句和Excel的相关解决方法

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

WBOY
WBOY원래의
2016-06-07 16:20:571117검색

这几天基于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下面。打开看看,哟西,不乱码了。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.