为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复:“UnicodeDecodeError:‘ASCII’编解码器不能解码字节”

如何修复:“UnicodeDecodeError:‘ASCII’编解码器不能解码字节”

holdtom 2019-06-23 15:48:13
如何修复:“UnicodeDecodeError:‘ASCII’编解码器不能解码字节”as3:~/ngokevin-site# nano content/blog/20140114_test-chinese.mkdas3:~/ngokevin-site# wokTraceback (most recent call last): File "/usr/local/bin/wok", line 4, inEngine()File "/usr/local/lib/python2.7/site-packages/wok/engine.py", line 104, in init self.load_pages()File "/usr/local/lib/python2.7/site-packages/wok/engine.py", line 238, in load_pages p = Page.from_file(os.path.join(root, f), self.options, self, renderer)File "/usr/local/lib/python2.7/site-packages/wok/page.py",  line 111, in from_file page.meta['content'] = page.renderer.render(page.original)File "/usr/local/lib/python2.7/site-packages/wok/renderers.py", line 46,  in renderreturn markdown(plain, Markdown.plugins)File "/usr/local/lib/python2.7/site-packages/markdown/init.py", line 419, in markdown return md.convert(text)File "/usr/local/lib/python2.7/site-packages/markdown/init.py", line 281, in convert source = unicode(source)UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 1: ordinal not in range(128). --  Note: Markdown only accepts unicode input!怎么修?在其他一些基于python的静态博客应用程序中,可以成功地发布中文帖子。比如这个应用程序:http://github.com/vrypan/bucket3..在我的网站上http://bc3.brite.biz/,中文文章可以成功出版。
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

这是经典的“Unicode问题”。我认为,解释这一点超出了StackOverflow的范围,无法完全解释正在发生的事情。

这是很好的解释这里.

在非常简单的总结中,您已经将被解释为字节字符串的内容传递给需要将其解码为Unicode字符的东西,但是默认的编解码器(Ascii)正在失败。

我指出的演示文稿为您提供了避免这种情况的建议。让您的代码成为“Unicode三明治”。在Python 2中,使用“FROM_WOWORY_IMPORT Unicode_TALLS”很有帮助。

更新:如何修复代码:

好的-在您的变量“源”中有一些字节。从你的问题上还不清楚他们是怎么进来的-也许你是从网上读到的?在任何情况下,它们都不是用ascii编码的,但是python正在尝试将它们转换为Unicode,假设它们是这样的。您需要显式地告诉它编码是什么。这意味着你需要编码是什么!这并不总是容易的,这完全取决于这个字符串的来源。您可以尝试一些常见的编码,例如UTF-8。您可以将编码作为第二个参数告诉Unicode():

source = unicode(source, 'utf-8')


查看完整回答
反对 回复 2019-06-23
  • 3 回答
  • 0 关注
  • 1612 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信