Postgresql Debian 8 Jessie中的CP1250(WIN1250)编码

Postgresql Debian 8 Jessie中的CP1250(WIN1250)编码,postgresql,encoding,debian,Postgresql,Encoding,Debian,我必须安装WIN1250 CP1250;pl_pl.cp1250编码到我的Debian 8 Jessie,但我不知道如何做到这一点。我需要这个从外部公司的外部文件初始化Postgres数据库。当我尝试初始化这个数据库时,我得到了一个错误 #/usr/lib/postgresql/9.5/bin/initdb -E WIN1250 -D /usr/local/phsql/data The database cluster will be initialized with locale "pl_P

我必须安装WIN1250 CP1250;pl_pl.cp1250编码到我的Debian 8 Jessie,但我不知道如何做到这一点。我需要这个从外部公司的外部文件初始化Postgres数据库。当我尝试初始化这个数据库时,我得到了一个错误

#/usr/lib/postgresql/9.5/bin/initdb -E WIN1250 -D /usr/local/phsql/data

The database cluster will be initialized with locale "pl_PL.UTF-8".
        initdb:encoding mismatch
        The encoding you selected (WIN1250) and the encoding that the selected locale uses (UTF8) do not match. This would lead to misbehavior in various character string processing functions. Rerun initdb and either do not specify and encoding explicitly, or choose a matching combination.
但我无法在不指定编码的情况下重新运行initdb,因为外部应用程序必须连接到编码为WIN1250的数据库:


请帮帮我

好的,我有一个解决方案:


必须编辑/etc/locale.gen和/etc/locale.alias,只需向其中添加pl_pl.CP1250即可。接下来,您必须通过dpkg重新配置区域设置来重新配置区域设置。它是有效的:

我不明白你为什么要这么做。客户端使用的编码实际上并不依赖于服务器使用的编码。但是ISO8859-1应该与WIN1250相同。您还需要指定一个locale-locale=。。。当运行与之兼容的initdb时。当我尝试连接到此数据库initd而不使用任何指定编码时,此外部应用的Windows客户端的默认UTF-8在Postgres中出现错误:错误:编码WIN1250与区域设置pl_pl.UTF-8不匹配。详细信息:choosen LC_CTYPE设置需要编码UTF*。。语句:创建数据库MMEDICA ENCODING='WIN1250'