On Wed, 30 Jan 2008 09:57:55 +0100, <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> wrote: > How can I convert a string read from a database containing unicode > literals, such as "Fr\u00f8ya" to the latin-1 equivalent, "Frøya"? > > I have tried variations around > "Fr\u00f8ya".decode('latin-1') > but to no avail.
Assuming you use Unicode-strings, the following should work: u"Fr\u00f8ya".encode('latin-1') That is, for some string s, s.decode('encoding') converts the non-unicode string s with encoding to a unicode string u. Whereas for some unicode string u, u.encode('encoding') converts the unicode string u into a non-unicode string with the specified encoding. You can use s.encode() on a non-unicode string, but it will first try to decode it (which might give an DecodeError if there are non-ASCII characters present) and it will then encode it. Berteun -- http://mail.python.org/mailman/listinfo/python-list