Andreas Röhler <[email protected]> writes:
> Am 07.05.2013 18:41, schrieb Eric Schulte:
>>> #+NAME: test2
>>> #+begin_src python :results value :preamble # -*- coding: utf-8 -*- :return
>>> a
>>> a = ( ( "é", "a" ), ( "a", "à" ) )
>>> b = "é"
>>> #+end_src
>>>
>>> #+RESULTS: test2
>>> | \303\251 | a |
>>> | a | \303\240 |
>>>
>>
>> Maybe this isn't an execution problem, but is rather a buffer encoding
>> problem. I executed your example above in a small buffer (attached). I
>> then saved this buffer and was forced to specify an encoding, I selected
>> utf8. If I cat the resulting file from disk, the accented characters
>> appear correctly.
>>
>>
>>
>>
>> So maybe the problem is simply Emacs not displaying utf8 characters
>> correctly.
>>
>> Hope this helps,
>>
>
> Here error occurs depending if a or b is specified for return, really strange.
>
I think this may be a problem with the Python code. The snippet above
expands to the following python.
# -*- coding: utf-8 -*-
def main():
a = ( ( "é", "a" ), ( "a", "à" ) )
b = "é"
return a
open('/tmp/output', 'w').write( str(main()) )
which, when executed returns the following raw string (which is then
interpreted by Org-mode).
(('\xc3\xa9', 'a'), ('a', '\xc3\xa0'))
Maybe Python simply needs to be convinced to print in utf-8 format?
>
> Andreas
>
>
--
Eric Schulte
http://cs.unm.edu/~eschulte