XML-restricted characters
All interaction with SimpleDB is in the form of XML documents that contain the requests. The underlying libraries that are used for communicating with SimpleDB will usually take care of the creation and parsing of these XML documents and present the results to you in a format specific to the library. In our case, boto is translating the XML responses from SimpleDB into simple Python objects that can be consumed by our application. The use of XML implies that you cannot send across any Unicode characters as a part of your data values that are invalid XML characters. You can insert invalid XML characters using the ReST API and they will be stored in SimpleDB, and will be automatically encoded as base64 strings when retrieved. If you do need to store these characters in SimpleDB, a simple way of doing that would be to encode these characters using a base64 encoding, and then store them in SimpleDB. You will, of course, need to decode them after retrieval before use...