By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,629 Members | 1,222 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,629 IT Pros & Developers. It's quick & easy.

Python 2.5.2 on Ubuntu Hardy Utf-8-Euro error

P: n/a
I'm playing with an application framework (or kinda) that's developed
with python, and it throws this error:

File "/usr/lib/python2.5/site-packages/Dabo-0.8.3-py2.5.egg/dabo/db/dCursorMixin.py", line 281, in execute
sql = unicode(sql, self.Encoding)
LookupError: unknown encoding: utf_8_euro
At the application (DABO) mailing list, they have pointed that this has
to be a Python issue. As I'm a totally python newbie, I would ask if
somebody has experimented this kind of error, and if there is any known
solution. I've found no clue searching at Google right now.

My Python version is 2.5.2, Ubuntu Hardy .deb package.

Thanks in advance for your help.

--

Josep SĂ*nchez
[papapep]
----------------------------------
http://extralinux.net
----------------------------------

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBIP/IZsQfW0y2pjQkRArbaAKCS06qFLqSpCTOIjdprcXz6twxVaACe LSxF
1X1WBK442eY7+z91BeGAmYk=
=7rkf
-----END PGP SIGNATURE-----

Jun 27 '08 #1
Share this Question
Share on Google+
8 Replies


P: n/a
On May 30, 8:24*am, Josep <papa...@gmail.comwrote:
I'm playing with an application framework (or kinda) that's developed
with python, and it throws this error:
File "/usr/lib/python2.5/site-packages/Dabo-0.8.3-py2.5.egg/dabo/db/dCursorMixin.py", line 281, in execute
* * sql = unicode(sql, self.Encoding)
LookupError: unknown encoding: utf_8_euro

At the application (DABO) mailing list, they have pointed that this has
to be a Python issue. As I'm a totally python newbie, I would ask if
somebody has experimented this kind of error, and if there is any known
solution. I've found no clue searching at Google right now.
I've had nothing but problems ever since I upgraded to Hardy. I used
to be a die hard Ubuntu fan until recently. Maybe try a better OS
>
My Python version is 2.5.2, Ubuntu Hardy .deb package.

Thanks in advance for your help.

--

Josep Sŕnchez
[papapep]
----------------------------------http://extralinux.net
----------------------------------

*signature.asc
1KDownload
Jun 27 '08 #2

P: n/a
Josep wrote:
I'm playing with an application framework (or kinda) that's developed
with python, and it throws this error:

>File
"/usr/lib/python2.5/site-packages/Dabo-0.8.3-py2.5.egg/dabo/db/dCursorMixin.py",
line 281, in execute
sql = unicode(sql, self.Encoding)
LookupError: unknown encoding: utf_8_euro

At the application (DABO) mailing list, they have pointed that this has
to be a Python issue. As I'm a totally python newbie, I would ask if
somebody has experimented this kind of error, and if there is any known
solution. I've found no clue searching at Google right now.

My Python version is 2.5.2, Ubuntu Hardy .deb package.
Python might get confused by an @EURO suffix in the locale:

$ LANG=de_DE.UTF-8@EURO
$ python -c"import locale; print locale.getdefaultlocale()"
('de_DE', 'utf_8_euro')

Try setting the LANG environment variable to something like

$ LANG=de_DE.UTF-8
$ python -c"import locale; print locale.getdefaultlocale()"
('de_DE', 'UTF8')

before you run your program (use ca_ES or whatever you need instead of
de_DE).

Peter
Jun 27 '08 #3

P: n/a
>File "/usr/lib/python2.5/site-packages/Dabo-0.8.3-py2.5.egg/dabo/db/dCursorMixin.py", line 281, in execute
> sql = unicode(sql, self.Encoding)
LookupError: unknown encoding: utf_8_euro

At the application (DABO) mailing list, they have pointed that this has
to be a Python issue.
It's definitely not a Python issue.
As I'm a totally python newbie, I would ask if
somebody has experimented this kind of error, and if there is any known
solution. I've found no clue searching at Google right now.
The problem is that self.Encoding is incorrect - it should not be
utf_8_euro. Instead, it should be UTF-8 (or perhaps utf_8). DABO
shouldn't use locale.getdefaultlocale()[1], but
locale.getpreferredencoding().

Regards,
Martin
Jun 27 '08 #4

P: n/a
"Martin v. Löwis" wrote:
>>File
"/usr/lib/python2.5/site-packages/Dabo-0.8.3-py2.5.egg/dabo/db/dCursorMixin.py",
line 281, in execute
sql = unicode(sql, self.Encoding)
LookupError: unknown encoding: utf_8_euro

At the application (DABO) mailing list, they have pointed that this has
to be a Python issue.

It's definitely not a Python issue.
>As I'm a totally python newbie, I would ask if
somebody has experimented this kind of error, and if there is any known
solution. I've found no clue searching at Google right now.

The problem is that self.Encoding is incorrect - it should not be
utf_8_euro. Instead, it should be UTF-8 (or perhaps utf_8). DABO
shouldn't use locale.getdefaultlocale()[1], but
locale.getpreferredencoding().
I think that is the effect of a bug:
>>locale._parse_localename("en_US.UTF-8@euro")
('en_US', 'utf_8_euro')

The function first normalizes the "@" away and then looks for it. Is that
the expected behaviour?

Peter
Jun 27 '08 #5

P: n/a
On 2008-05-30 17:41, Peter Otten wrote:
Josep wrote:
>I'm playing with an application framework (or kinda) that's developed
with python, and it throws this error:

>>File
"/usr/lib/python2.5/site-packages/Dabo-0.8.3-py2.5.egg/dabo/db/dCursorMixin.py",
line 281, in execute
sql = unicode(sql, self.Encoding)
LookupError: unknown encoding: utf_8_euro
At the application (DABO) mailing list, they have pointed that this has
to be a Python issue. As I'm a totally python newbie, I would ask if
somebody has experimented this kind of error, and if there is any known
solution. I've found no clue searching at Google right now.

My Python version is 2.5.2, Ubuntu Hardy .deb package.

Python might get confused by an @EURO suffix in the locale:
Right, that's what's happening.

The locale module uses a locale aliasing table that help map environment
locale settings to C local names.

That table was last updated in 2004 and since then a lot more
locale variable strings have made their way into the Linux
distros.

I guess we need to update the table...
$ LANG=de_DE.UTF-8@EURO
$ python -c"import locale; print locale.getdefaultlocale()"
('de_DE', 'utf_8_euro')

Try setting the LANG environment variable to something like

$ LANG=de_DE.UTF-8
$ python -c"import locale; print locale.getdefaultlocale()"
('de_DE', 'UTF8')

before you run your program (use ca_ES or whatever you need instead of
de_DE).

Peter
--
http://mail.python.org/mailman/listinfo/python-list
--
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source (#1, May 30 2008)
>>Python/Zope Consulting and Support ... http://www.egenix.com/
mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
__________________________________________________ ______________________

:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
Jun 27 '08 #6

P: n/a
On 2008-05-30 22:37, M.-A. Lemburg wrote:
On 2008-05-30 17:41, Peter Otten wrote:
>Josep wrote:
>>I'm playing with an application framework (or kinda) that's developed
with python, and it throws this error:
File
"/usr/lib/python2.5/site-packages/Dabo-0.8.3-py2.5.egg/dabo/db/dCursorMixin.py",

line 281, in execute
sql = unicode(sql, self.Encoding)
LookupError: unknown encoding: utf_8_euro
At the application (DABO) mailing list, they have pointed that this has
to be a Python issue. As I'm a totally python newbie, I would ask if
somebody has experimented this kind of error, and if there is any known
solution. I've found no clue searching at Google right now.

My Python version is 2.5.2, Ubuntu Hardy .deb package.

Python might get confused by an @EURO suffix in the locale:

Right, that's what's happening.

The locale module uses a locale aliasing table that help map environment
locale settings to C local names.

That table was last updated in 2004 and since then a lot more
locale variable strings have made their way into the Linux
distros.

I guess we need to update the table...
I've opened ticket http://bugs.python.org/issue3011 for this.
>$ LANG=de_DE.UTF-8@EURO
$ python -c"import locale; print locale.getdefaultlocale()"
('de_DE', 'utf_8_euro')

Try setting the LANG environment variable to something like

$ LANG=de_DE.UTF-8
$ python -c"import locale; print locale.getdefaultlocale()"
('de_DE', 'UTF8')

before you run your program (use ca_ES or whatever you need instead of
de_DE).

Peter
--
http://mail.python.org/mailman/listinfo/python-list
--
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source (#1, May 30 2008)
>>Python/Zope Consulting and Support ... http://www.egenix.com/
mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
__________________________________________________ ______________________

:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
Jun 27 '08 #7

P: n/a
The function first normalizes the "@" away and then looks for it. Is that
the expected behaviour?
I believe this functionality is broken by design. Python can't possibly
know correctly what each locale name on each system means, and what
encoding is used in the locale.

Instead, the system's API to find out the encoding should be used,
as exposed in locale.getpreferredencoding().

Regards,
Martin
Jun 27 '08 #8

P: n/a
Op Fri, 30 May 2008 22:37:14 +0200, schreef M.-A. Lemburg:
On 2008-05-30 17:41, Peter Otten wrote:
>Josep wrote:
>>My Python version is 2.5.2, Ubuntu Hardy .deb package.
>Python might get confused by an @EURO suffix in the locale:
Right, that's what's happening.

The locale module uses a locale aliasing table that help map environment
locale settings to C local names.

That table was last updated in 2004 and since then a lot more locale
variable strings have made their way into the Linux distros.

I guess we need to update the table...
Ubuntu doesn't use @EURO suffixes...?

$ grep EURO /usr/share/i18n/SUPPORTED
$
--
JanC
Jun 27 '08 #9

This discussion thread is closed

Replies have been disabled for this discussion.