Hi there,

I'm configuring a python command to be used by emacs to filter a buffer through python markdown, and noticed something strange. If I run this command in the terminal:

python -c "import sys,markdown; print markdown.markdown(sys.stdin.read().decode('utf-8'))" < markdown_source.md

The file (which is encoded as utf-8 and contains Chinese characters) is converted and output correctly to the terminal. But if I do this to write the output to a file:

python -c "import sys,markdown; print markdown.markdown(sys.stdin.read().decode('utf-8'))" < markdown_source.md > output.hml

I get a UnicodeEncodeError, 'ascii' codec can't encode character u'\u2014'. I'm not sure where exactly this is going wrong, as print and sys.stdout.write() and whatnot don't provide encoding parameters. What's the difference between this command writing to the terminal, and writing to the file?

Thanks,
Eric
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to