postgresql - Powershell编码后如何转换postgresql转储?
问题描述
我在 Windows Server 2019 计划作业上使用
powershell & 'C:\Program Files\PostgreSQL\12.3-7.1C\bin\pg_dump.exe' basename > bn.bak
之后我尝试在其他基础上导入 bn.bak,但 Postgre 告诉我
“用于编码“UTF8”的无效字节序列:0xff”
文件实用程序给了
Little-endian UTF-16 Unicode 文本,带有 CRLF 行终止符
因此,我了解 Powershell 5.1 使用“>”作为输出文件并使用默认编码 UTF-16LE。但是如何在我的基础上导入该文件?我试过这种方法:
- iconv -f UTF-16LE -t UTF-8 bn.bak -o conv1.bak
- 获取 Powershell 7.0 并使用“Get-Content .\bn.bak -Encoding utf8NoBom”
但所有这些方式给了我同样的东西——所有拉丁符号和数字显示正常,所有西里尔符号显示破裂。
这个转储还能保存吗?:)
解决方案
整天面对同样的问题;有一个简单的技巧。
在记事本++中打开文件转到编码并将其更改为UTF8并保存。文件大小现在应该减半。这对我有用。
我尝试使用以下命令进行 UTF8 导出:
.\pg_dump.exe -U postgres -h remotehost -d dbName --encoding utf8 > "C:\Users\me\Documents\project\Migration\backup.sql"
但这并没有按我的预期工作。
推荐阅读
- python-3.x - 根据熊猫中的特定条件,将 df 的一列替换为另一个 df 的另一列
- ansible - 选择并连接 dict 值列表
- angular - 角度形式永远不会重置
- c - 如何使用 getch() 使字符出现?
- android - 为什么我得到`Proto class is already defined in file`?
- algorithm - 哈希表重新散列和迭代器失效
- android - 当用户想要更改其内容时,如何避免手动删除 EditTextPreference 的内容?
- android - 如何在 Android 上的 NavigationUI 组件中动态更改默认选项卡
- excel - VBA代码执行从单列转置多个数据的循环
- filter - Visio 和 Power BI 筛选器是否存在问题?