选择的LC_CTYPE设置需要编码"LATIN1"

Era*_*ray 4 postgresql locale

我正在尝试在PostgreSQL 9.4中创建一个数据库

CREATE DATABASE "dbname"  WITH ENCODING 'UTF8';
Run Code Online (Sandbox Code Playgroud)

但得到

ERROR:  encoding "UTF8" does not match locale "en_US"
DETAIL:  The chosen LC_CTYPE setting requires encoding "LATIN1".
Run Code Online (Sandbox Code Playgroud)

错误.PostgreSQL在一个流浪盒上,我通过SSH隧道连接到这个数据库服务器.Vagrant box的区域设置:

root@precise32:/vagrant# locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

我的电脑的区域设置:

erayalakese at Eray-MacBook-Air in ~/Desktop/VAGRANTBOXES
$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)

安装PostgreSQL 9.4后,我没有更改语言环境设置.

我怎么解决这个问题?

Cra*_*ger 7

虽然我不知道它为什么选择该语言环境,但您也可以通过指定LC_CTYPE等来解决它.

CREATE DATABASE "dbname"  WITH ENCODING 'UTF8' LC_CTYPE 'en_US.UTF-8' LC_COLLATE 'en_US.UTF-8';
Run Code Online (Sandbox Code Playgroud)

或类似的.