Open nsoblath opened 5 years ago
In python 3, strings are all stored as unicode objects, with UTF-8 encoding by default. For dripline 3 work we're developing exclusively in python 3 and so there should be no issues with this. We may need to be careful if we're trying to have legacy python 2 support for this in dripline 2, but it shouldn't be a problem.
I suggest we promote from "proposal" to "proposal accepted" and plan to incorporate this whenever we have someone with the cycles to put it in, perhaps adding it to the dripline 3 release?
Everything should be compatible with unicode, with the possible exception of pieces of dripline-cpp. In a future standards release this will be a requirement. See driplineorg/dripline-cpp#39.
We should use UTF-8 as the encoding for all strings. This will be backwards compatible with our current setup. It will allow international use of dripline. And it's supported by rabbitmq (queue names are UTF-8, for instance).
This will require updates wherever string parsing is done in the C++ library, including a few things in Scarab (e.g. addressing locations in a paramedic hierarchy). We should verify that there's no problem with the YAML library. The JSON library already handles UTF-8.
An external library will be needed for appropriate handling.