Postgres CSV UTF8编码问题(Python)

Postgres CSV UTF8编码问题(Python),python,database,postgresql,encoding,utf-8,Python,Database,Postgresql,Encoding,Utf 8,导入CSV文件时,Postgres存在编码问题 我已经在Postgres中创建了一个数据库,并在csv文件中创建了我想要的所有数据。我的数据库客户端和服务器编码是UTF8,我将文件保存为UTF8。我曾尝试将其保存在不同的编辑器中,如Excel、ApacheOpenOffice、NotePad++中,所有这些都是UTF8格式,但我使用\COPY语句将其导入Postgres,因为瑞典字符åäö不起作用并且正在显示├Ñ, ├ñ,├以及其他角色 我想这是一个编码问题,但正如我所知,我的数据库是UTF8,

导入CSV文件时,Postgres存在编码问题

我已经在Postgres中创建了一个数据库,并在csv文件中创建了我想要的所有数据。我的数据库客户端和服务器编码是UTF8,我将文件保存为UTF8。我曾尝试将其保存在不同的编辑器中,如Excel、ApacheOpenOffice、NotePad++中,所有这些都是UTF8格式,但我使用\COPY语句将其导入Postgres,因为瑞典字符åäö不起作用并且正在显示├Ñ, ├ñ,├以及其他角色

我想这是一个编码问题,但正如我所知,我的数据库是UTF8,CSV文件是相同的,真正令人沮丧的是,它在前几天工作,我99%肯定我做了同样的事情

我设法用计算机绕过了数据库中的字母

UPDATE places SET description = replace(description, '├Ñ', 'å');
然而,我使用Python中的psycopg2连接到数据库,字符显示为“,†等,尽管Python编码也是UTF8。但我真的想在数据库中修复它,而不是像这样绕过它


当文件被导入Postgres时,这似乎是一个问题,但我觉得我已经尝试了所有的方法。。有什么想法吗?

一旦我知道如何使用终端程序将这些字符粘贴到文件中,我就可以使用\copy加载这些字符。你能展示你使用的python脚本的最简单版本吗?我想在数据库中使用正确的编码,因为python将正确显示字符,至少在我前几天尝试并成功的时候。我只使用Python将其存储在一个列表中,以显示其基本应用程序。你是怎么做到的?Arriesjön-Risebjär-这就是我想要的,Arriesj├n-Risebj├ñr-这是我使用\copy导入文件并将其保存为utf8、Arriesj“n-Risebj”r后在数据库中显示的内容-这是Python在我从数据库执行select查询并将其保存在列表中并打印时向我显示的内容。我对Python和数据库都是新手。我刚刚将您的标题粘贴到Windows记事本中,将其保存为utf8编码的文件,然后将其发送到Linux,在那里我将客户端编码设置为utf8并进行了\copy。您确定数据库中的错误吗?可能是python从数据库中正确地读取它,并将它正确地作为utf8输出到终端,但是您的终端将它解释为utf8以外的内容,因此显示错误?我解决了它!我必须在连接数据库之前输入这个,不知道为什么。。。SET PGCLIENTENCODE=utf-8 chcp 65001I在了解如何使用终端程序将这些字符粘贴到文件中后,使用\copy加载这些字符没有问题。你能展示你使用的python脚本的最简单版本吗?我想在数据库中使用正确的编码,因为python将正确显示字符,至少在我前几天尝试并成功的时候。我只使用Python将其存储在一个列表中,以显示其基本应用程序。你是怎么做到的?Arriesjön-Risebjär-这就是我想要的,Arriesj├n-Risebj├ñr-这是我使用\copy导入文件并将其保存为utf8、Arriesj“n-Risebj”r后在数据库中显示的内容-这是Python在我从数据库执行select查询并将其保存在列表中并打印时向我显示的内容。我对Python和数据库都是新手。我刚刚将您的标题粘贴到Windows记事本中,将其保存为utf8编码的文件,然后将其发送到Linux,在那里我将客户端编码设置为utf8并进行了\copy。您确定数据库中的错误吗?可能是python从数据库中正确地读取它,并将它正确地作为utf8输出到终端,但是您的终端将它解释为utf8以外的内容,因此显示错误?我解决了它!我必须在连接数据库之前输入这个,不知道为什么。。。设置PGCLIENTENCODE=utf-8 chcp 65001