首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >外壳命令[mysql -e " ...“-u ...> some_file.sql]用哪种编码将内容存储到some_file.sql中?

问外壳命令[mysql -e " ...“-u ...> some_file.sql]用哪种编码将内容存储到some_file.sql中?
EN

Stack Overflow用户
提问于 2011-08-05 12:11:57
回答 1查看 183关注 0票数 0

我希望将某个查询的结果导出到一个文件中,因此发出了shell命令

代码语言:javascript
复制
mysql -e "SELECT some, thing FROM some_where" -u my_user -p my_database > some_file.sql

值得一提的是,表和列存储在utf8中。当尝试通过以下python代码遍历各行时

代码语言:javascript
复制
with codecs.open(PATH_TO_SQL_FILE, 'r', 'utf8') as read_file:
    for line in read_file:
        print line

我得到一个错误:

代码语言:javascript
复制
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf3 in position 1: invalid continuation byte

如果我删除了codecs的用法,脚本结束时没有出现错误,但我在终端中看到了如下内容:

代码语言:javascript
复制
Zolt�n L�szl�

我错过了什么?我应该使用另一个编解码器吗?如何确定使用哪个编解码器进行解码?感谢所有的提示!

顺便说一下,如果我在终端中用vi打开文件some_file.sql,每个变音符号都会以正确的方式显示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-05 12:17:43

除非您另行说明,否则mysql将使用拉丁语-1作为默认字符集。您可以在python中对iso-8859-1进行解码,或者使用:

代码语言:javascript
复制
mysql --default-character-set=utf-8 -e "SELECT some, thing FROM some_where" -u my_user -p my_database > some_file.sql
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6951332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档