我当前正在使用python和模块flask构建应用程序。我在HTML文件中创建了一个输入表单,当我编写不包含“åäö”的内容时,它就可以工作。它将与我的PSQL通信。但是,如果我写的东西包含“åäö”,它会说:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
在我的app.py文件中。我认为我的PSQL表有问题,但我不知道。
出什么问题了?
我非常感谢我所提供的所有帮助。 预先感谢。
答案 0 :(得分:0)
我有一个带有注册表单的小烧瓶应用程序,这种输入没有问题。我只在字段上使用DataRequired()验证器。 然后,将数据插入具有UTF-8编码的SQLite数据库中。
我认为也许您应该检查数据库编码,然后决定是否要更改它,或者只是从python中更改字符串编码(如果可能),以便能够插入数据库中。
答案 1 :(得分:0)
服务器和客户端之间似乎存在编码差异。例如,如果您的应用程序支持UTF-8,请在数据库中也使用UTF-8。
使用psycopg2模块可能会有所帮助。
import psycopg2
import psycopg2.extensions
psycopg2.extensions.register_type(psycopg2.extensions.UNICODE)