SV: Unicode literals to latin-1
On 30. januar 2008 14:31, Gabriel Genellina wrote: >On 30 ene, 07:54, <[EMAIL PROTECTED]> wrote: >> On 30. januar 2008 10:48, Marc 'BlackJack' Rintsch wrote: >> >> >On Wed, 30 Jan 2008 09:57:55 +0100, David.Reksten 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"? > >> >In [388]: 'Fr\u00f8ya'.decode('unicode-escape') >> >Out[388]: u'Fr\xf8ya' >> >> 'unicode-escape' did the trick! Thank you! > >A unicode-escaped string looks very strange in a database... I'd >revise the way things are stored and retrieved. I agree. I'm currently using the trick above to fix it. .david -- http://mail.python.org/mailman/listinfo/python-list
SV: Unicode literals to latin-1
On 30. januar 2008 10:48, Marc 'BlackJack' Rintsch wrote: >On Wed, 30 Jan 2008 09:57:55 +0100, David.Reksten 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. > >In [388]: 'Fr\u00f8ya'.decode('unicode-escape') >Out[388]: u'Fr\xf8ya' > >In [389]: print 'Fr\u00f8ya'.decode('unicode-escape') >Frøya 'unicode-escape' did the trick! Thank you! .david -- http://mail.python.org/mailman/listinfo/python-list
SV: Unicode literals to latin-1
On 30. januar 2008 10:21, Berteun Damman wrote: >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') I'm afraid that the string read from the database is a non-unicode string, thus me not using u"..." above. But it may contain unicode literals from the (Python-based) system that populated the table, and I'd like to get them back to proper unicode strings again, so that I can display them correctly to the user. >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. Any suggestions on how that would look, given the example above? .david -- http://mail.python.org/mailman/listinfo/python-list