> > To remind and illustrate the problem, here is an example : > #+name: pytab-test > #+begin_src python :results value :session :preamble # -*- coding: utf-8 -*- > :return a > a = ( ( "é", "a" ), ( "a", "à" ) ) > a > #+end_src > > #+TBLNAME: pytab-test > | \303\251 | a | > | a | \303\240 | > > > I have then two problems : > 1. The characters are not well displayed in the buffer > 2. If I try to save the buffer, emacs doesn't recognize the encoding and > tells me that "utf-8-unix cannot encode these: \303 \251 [...] > > So I decided to inspect what happened during the Python session... > Basically, Org-babel just write the str conversion of my tuple ( ( "é", "a" > ), ( "a", "à" ) ) (that appears (('\xc3\xa9', > 'a'), ('a', '\xc3\xa0')) in the python interpreter) in a temporary file. > > Then looking in this temporary file, I see that the strange characters > are written directly \xc3, \xa9, etc. > > Consequently, my guess is that org-babel has maybe some difficulties > to deal with these characters while reading the temporary file before > displaying the results in the buffer. > > Unfortunately, this is just a guess and even less a solution... But am I on > relevant lead??? >
This does seem to be in the right direction. This is similar to my diagnosis of the non-session case [1]. If the python process prints weird hex character values (e.g., '\xc3\xa0') instead of utf8 characters (e.g., "à"), then Babel will insert the hex values into the buffer. As I recall switching to python3 solved this problem? For the session case, it may be possible to fix this by changing the python code in the `org-babel-python-evaluate-session' function around line 300 in ob-python.el. Cheers, > > Thanks in advance for any help... > > Roland. > > > > Footnotes: [1] http://article.gmane.org/gmane.emacs.orgmode/71866 -- Eric Schulte http://cs.unm.edu/~eschulte