求教:使用python的markdown库时中文编码问题(注:非乱码)

2013-08-25 03:01:17 +08:00
 kingseven
代码类似这样的:
# coding = utf8

text = '# 大标题 ## 第二号 ... '
result = markdown.markdown(text)

错误是:
'ascii' codec can't encode characters in position 18-27: ordinal not in range(128)

不论怎么encode/decode 都不行。用谷歌查找的结果基本上都是乱码,实在想不出来结果,只好在这拜托各位了
先谢谢各位
5588 次点击
所在节点    Python
4 条回复
013231
2013-08-25 04:22:34 +08:00
text = u'# 大标题 ## 第二号 ... '
result = markdown.markdown(text)
013231
2013-08-25 04:26:23 +08:00
或者:
# encoding=utf8

text = '# 大标题 ## 第二号 ... '
result = markdown.markdown(text.decode('utf-8'))
liushuaikobe
2013-08-25 09:56:11 +08:00
正好之前有用到过这个库做过一个小项目,你可以去参考下:https://github.com/liushuaikobe/evermd

# Markdown only accepts unicode input!

text = '# 大标题 ## 第二号 ... '
md = unicode(text, 'utf-8')
markdown.markdown(md).encode('utf-8')
kingseven
2013-08-25 10:31:46 +08:00
@013231
@liushuaikobe
谢谢。找到问题了。我的python默认编码是ascii,已经搞定。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/80132

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX