将数据库添加到数据库后,我在一个字符串中遇到了一些问题。
我有“222平方米的空间”字符串。如果我通过mysqldb模块将它写入mysql,我在表中得到“空间222m²”,这没关系。但是当我从表中得到这个值时,在解码之后我得到类似“空间222 m \ eb000 \ b1111”的东西,这不是“空间222m²”。
在unicode中添加到数据库之前的这个字符串看起来像“space 222 m \ xcb”,但是在打印它显示正确时,数据库中的字符串会显示unicode代码,从而产生错误。
我遇到的问题是将字符串与特殊字符集成,而其他字符串没有
## db it's mongodb
st=db.objects.find()[0]['value']
string=st.encode('utf-8') # can be with m² or not. Encoding identical
some_string=u"some"
x="%s %s"%(string,some_string)
如果字符串不包含特殊符号都很好, 但如果字符串包含特殊符号,我会得到UnicodeDecodeError
Python版本:
在win32上使用Python 2.7.10(默认,2015年5月23日,09:40:32)[MSC v.1500 32位(英特尔)]
答案 0 :(得分:0)
关于UTF-8的说明: UTF-8中有不同的ISO字符集,因此在将数据从UI发送到数据库时请记住这一点。看看本地化和字符编码\集,这将有助于你理解unicode \ ascii。
我不知道您的字符串的确切映射,但要回答您的问题,请尝试get_string().encode('utf-8')
和get_string().decode('utf-8')