On Mon, 03 Aug 2009 23:28:07 +0200, Thomas wrote:
Hi,
I use Geany to play around with Python 3.1 ans I've spotted a nasty behaviour (wich I'm enough qualified to tell if it's a bug and from where it come, me, python or Geany ?). I run Geany 0.17, hand compiled.
The following script (saved under ~\test\test.py) : # -*- coding: utf-8 -*- s = 'abcdefghijklmnopqrstuvwxyzéèêàç' print(s.encode('utf-8'))
cause that error : Traceback (most recent call last): File "test.py", line 3, in <module> print(s.encode('utf-8')) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 26: ordinal not in range(128) when ran using F5 (or run (exécuter in Fench) in geany).
But running : [CapitaineCrochet@PeterPan test]$ python3 test.py
result in : b'abcdefghijklmnopqrstuvwxyz\xc3\xa9\xc3\xa8\xc3\xaa\xc3\xa0\xc3\xa7'
which is exactly what I'm waiting for...
As I'm only using Geany for python i've replaced the make tool command by 'python3'.
Where I'm wrong ?
Assuming that it is a problem with Geany :). More seriously, what terminal emulation are you using in Geany and in general? I.e. what program did you use to test your script outside of Geany and what is configured in Geany's preferences on the Tools tab as Terminal application. I assume you are using two different apps and the one configured in Geany doesn't handle UTF-8 properly. Though, I might be wrong.
Another idea: in the above mentioned command you used "python3", do you also this command in Geany? By default Geany uses the command "python" which might point to an installed Python 2.5 or 2.6. You can easily change the Run command in Geany via Build->Set Includes and Arguments.
HTH, Enrico