Google Cloud 'Import failed: ERROR: invalid byte sequence for encoding "UTF8": 0xff Import error: exit status 3'

Google Cloud 'Import failed: ERROR: invalid byte sequence for encoding "UTF8": 0xff Import error: exit status 3'

我正在尝试将 pg_dump 文件从我刚刚在 Windows 机器上本地构建的 postgres 9.6 数据库上传到 Google 云 SQL。我已在 Windows 机器上尽可能地遵循 this page 上的说明(我手动注释掉了转储文件中的 "EXTENSION" 语句)。然后我将 pg_dump 文件上传到 Google Cloud Bucket,最后尝试将 pg_dump 编辑的文件导入 Google Cloud SQL。我不断收到以下错误:

Import failed: ERROR: invalid byte sequence for encoding "UTF8": 0xff Import error: exit status 3

我四处查看并查看了 Stack Overflow,一些类似的帖子建议添加额外的参数来指定编码。我尝试了以下 3 个 pg_dump 命令,其中 none 似乎与 Google Cloud 的导入过程兼容。有什么想法吗?

pg_dump -U [USER_NAME] --format=plain --no-owner --no-acl [DB_NAME] > dbexport.sql

pg_dump --encoding=ISO88591 -U [USER_NAME] --format=plain --no-owner --no-acl [DB_NAME] > dbexport.sql

pg_dump --encoding=UTF8 -U [USER_NAME] --format=plain --no-owner --no-acl [DB_NAME] > dbexport.sql

我还使用 Notepad++ 在 .sql 文件中搜索了每个 this post 的“\x{0xff}”和几个 upper/lower 大小写变体,但找不到文件中任意位置的字符。

问题是在修改转储文件时,您的编辑器将 BOM 添加到文件中。 删除文件的前两个字节(例如 )以便能够导入它。