string.encode on HP-UX

Christopher T King squirrel at WPI.EDU
Wed Jul 21 16:00:04 CEST 2004


On Wed, 21 Jul 2004, Richard Townsend wrote:

> Using Python-2.3.4 on HP-UX11i, the following code:
> 
>   import locale
>   loc = locale.setlocale(locale.LC_ALL)
>   print 'locale =', loc
>   loc = locale.nl_langinfo(locale.CODESET)
>   print 'locale =', loc
>   print 'hello'.encode(loc, 'replace')
> 
> produces:
> 
>   locale = C C C C C C
>   locale = roman8
>   Traceback (most recent call last):
>     File "test_locale.py", line 13, in ?
>       print 'hello'.encode(loc, 'replace')
>   LookupError: unknown encoding: roman8
> 
> [The same code on SUSE 9.1 doesn't raise an exception].

My guess is roman8 is HP-UX's version of latin_1.  Setting an alias fixes 
this:

>>> import encodings
>>> encodings.aliases.aliases['roman8']='latin_1'
>>> 'hello'.encode('roman8')
'hello'

You can add those first two lines to a sitecustomize.py file, located 
somewhere in your Python path (generally ~/site-packages/ or 
/usr/local/lib/python2.X/ should work).




More information about the Python-list mailing list