我正在尝试从MySql数据库中读取数据。一切都是正确的,除非我必须收到带有重音或字符'ñ'
的单词我查看了数据库的排序规则。我在表格和列中的utf8_unicode_ci中配置了它。
我使用python 2.7.8并尝试解码和unicode,我不能很好地写出表的结果。我总是得到:
Baño - >巴\ xf1o
Lámina - >大号\ xe1mina
我在Windows 10下从RIDE(1.5.2.1)启动查询。
有什么想法吗?
谢谢。
答案 0 :(得分:1)
你是如何接受"文本?编码为十六进制ñ
的{{1}}编码为e1
。 (实际上是cp1250,dec8,latin1,latin2,latin5中的任何一个,但可能是latin1,因为那是MySQL的旧默认值。)
如果你在客户端实际拥有latin1
,那么告诉MySQL你有latin1。将数据库表设置为utf8是可以的 - MySQL将在您执行存储/提取时进行音译。
最好在任何地方使用utf8。
以下是我对Python的说明:http://mysql.rjweb.org/doc.php/charcoll#python 请注意,该部分以旧版Python 2.7的问题链接结束,您似乎正在使用它:Flask_SQLAlchemy, MySQL, store Swedish characters å, ä, ö?