mysqldump 导出中文乱码
来源:互联网 发布:老滚捏脸数据 编辑:程序博客网 时间:2024/06/05 01:19
需求:导出一个测试库的数据(数据库不大,就几张表)
导出命令:
mysqldump -uroot -p --single-transaction --master-data=2 --triggers -f -R -E --databases test>test.sql
现象:查看test.sql中文居然是这个样子的 '浼氳瘽鍚嶇О'。
但是这个命令导出这套环境的其它包含中文的库确是正常的。
问题分析:
什么原因呢?先不管中文乱码的问题,先把备份的数据导入到新库看看,居然中文显示正常。这也是一个比较投机的做法,很多人看到乱码,就不敢继续操作了。
为什么敢这么做呢?因为之前老大的一句话,“计算机是一门实验科学,只相信被实验证明过的东西”。
既然导入后中文显示正常,还用去找乱码的原因吗?
vim :set fileencoding 查看文件编码 居然是latin1,能正常显示中文的备份文件时utf-8
为什么呢?怀疑是表结构或数据有问题。
只导出表结构,居然中文显示正常。
mysqldump -uroot -p --single-transaction --master-data=2 --triggers -f -R -E -d --databases test>test.sql
同时导出表结构和数据,显示乱码。猜想可能是数据有问题了。但数据在原库中文显示是正常的啊。
。。。
。。。
在仔细分析一下表结构,原来有blob类型。这下乱码就不奇怪了。
在原命令的基础上加上--hex-blob,搞定。
这个参数的含义是用16进制的方式导出BINARY, VARBINARY, BLOB类型的数据。
--hex-blob Dump binary strings (BINARY, VARBINARY, BLOB) in hexadecimal format.
mysqldump -uroot -p --single-transaction --master-data=2 --triggers -f -R -E --hex-blob --databases test>test.sql
其实在我们的备份脚本中早已经把这个参数加进去了,只是我们没有引起足够的重视罢了。
- mysqldump 导出中文乱码
- mysqldump命令行导出中文乱码解决
- mysqldump以及navicat导出mysql脚本中文乱码的问题--自己记录依稀
- mysqldump导出数据后是乱码
- mysqldump导出SQL出现乱码解决
- mysqldump 导出数据文件,是乱码,何解?
- mysqldump导出SQL出现乱码解决
- redmine 导出中文乱码
- exel导出中文乱码
- hightchart导出中文乱码
- mysqldump导出
- Javadoc 导出中文乱码解决
- 导出excel中文文件名乱码
- ASPxPivotGrid导出pdf中文乱码
- jxl导出中文标题乱码
- POI导出中文文件名乱码
- R12导出中文是乱码
- DataGrid 导出 Excel 中文乱码
- Swift学习之集合的reduce 操作详解
- 学到javascript的函数了。
- Linux内核中断机制(三):中断处理上
- OpenGL 入门11
- 关于数据结构的理解超级棒的网站!!!!
- mysqldump 导出中文乱码
- 命令行操作记录工具
- Android 如何优雅的打印日志
- 用函数判断大小端字节序
- Django part01
- Linux内核中断机制(四):中断处理下
- Programming Exercise 5: Regularized Linear Regression and Bias v.s. Variance Machine Learning
- oracle表中列的类型。number和integer区别
- 742 C. Arpa's loud Owf and Mehrdad's evil plan codeforces