从HTML输入后,来自app.py的UnicodeDecodeError

时间:2019-04-13 20:21:26

标签: python html sql postgresql

我当前正在使用python和模块flask构建应用程序。我在HTML文件中创建了一个输入表单,当我编写不包含“åäö”的内容时,它就可以工作。它将与我的PSQL通信。但是,如果我写的东西包含“åäö”,它会说:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position

在我的app.py文件中。我认为我的PSQL表有问题,但我不知道。

出什么问题了?

我非常感谢我所提供的所有帮助。 预先感谢。

2 个答案:

答案 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)