Has anyone working in Python experienced what I like to call Unicode Hell? If your not sure what I am talking about, consider this:
You are developing an application using both Unicode and non-Unicode aware Python packages. A non-unicode aware package is python-ldap. I am currently building an web application in Django which connects to an Active Directory domain to read information, now I am working on the modification of data. When data is sent to Django from the web browser, it is in Unicode format, and since Python ldap does not like Unicode, and isn't smart enough to convert it to a regular string, or list of strings, I am now in the process of writing this component into my code.
Yesterday I was trying to troubleshoot why it wasn't saving back to LDAP correctly, when my class was working through a standard Python shell. It just hit me today, that the problem must be related to Unicode, as I had an original issue with this when I was retrieving user inputted fields from AD, and that complained that it couldn't use field names in Unicode format.
Hopefully all strings are forced to be Unicode in Python 3, if that is not implemented(most likely because it may break backwards compatibility, but P3 breaks that anyways), they should add a way to force everything to unicode.
I really love Unicode and wish that every language properly supported it fully(*cough* PHP *cough*), that way developing multilanguage application would be much easier. Some languages support Unicode, but not to the extent that Python has. There are also some languages which are finally just adding Unicode after centuries of having multiple languages in the world. Python also has really good internationalization support built in, especially Django.