当.sql文件是ANSI时,pg_dump是否保留所有Unicode字符?

时间:2018-01-26 20:18:04

标签: postgresql pg-dump

我用

pg_dump.exe -U postgres -f "file-name.sql" database-name

在PostgreSQL 8.4和9.5,Windows主机上备份UTF-8编码的数据库。有些可能会有字符列中存储的中文,泰文等外来字符。

在Notepad ++中打开时,生成的.sql文件显示 ANSI 编码(默认情况下,我没有将ANSI应用于打开的文件)。我如何知道转储文件中是否始终保留Unicode字符?我应该使用归档(对象)备份文件吗?

1 个答案:

答案 0 :(得分:2)

Quote from the manual

  

默认情况下,转储是在数据库编码中创建的。

如果没有使用扩展字符,ANSI编码和UTF-8中的文本文件没有区别。也许您的转储没有特殊字符,因此编辑器不会将其识别为UTF-8。

如果您希望以特定编码进行SQL转储,请使用--encoding=encoding参数或PGCLIENTENCODING环境变量