can't run gitlab-ctl pg-upgrade with initdb locale error

i'm in GitLab Community Edition 8.14.0 cde955c9

~$ sudo gitlab-ctl pg-upgrade
Checking for an omnibus managed postgresql: OK
Checking version of running PostgreSQL: OK
Checking for a newer version of PostgreSQL to install: OK
Upgrading PostgreSQL to 9.6.1
Checking if existing PostgreSQL instances needs to be upgraded: OK
Checking if the PostgreSQL directory has been symlinked elsewhere: OK
Checking if PostgreSQL bin files are symlinked to the expected location: OK
Toggling deploy page:cp /opt/gitlab/embedded/service/gitlab-rails/public/deploy.html /opt/gitlab/embedded/service/gitlab-rails/public/index.html
Toggling deploy page: OK
Toggling services:ok: down: logrotate: 0s, normally up
ok: down: sidekiq: 0s, normally up
Toggling services: OK
Stopping the database:ok: down: postgresql: 1s, normally up
Stopping the database: OK
Update the symlinks: OK
Creating temporary data directory: OK
Initializing the new database:Could not run: /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data.9.6.1 --locale C --encoding  --lc-collate=C. --lc-ctype=C.
STDOUT: The files belonging to this database system will be owned by user "gitlab-psql".
This user must also own the server process.

STDERR: initdb: invalid locale name "C."
== Fatal error ==
Please check the output and try again
== Reverting ==
ok: down: postgresql: 1s, normally up
ok: run: postgresql: (pid 14407) 0s
== Reverted ==
== Reverted to 9.2.18. Please check output for what went wrong ==
Toggling deploy page:rm -f /opt/gitlab/embedded/service/gitlab-rails/public/index.html
Toggling deploy page: OK
Toggling services:ok: run: logrotate: (pid 14416) 0s
ok: run: sidekiq: (pid 14419) 0s
Toggling services: OK

lsb_release -a

No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.4 LTS Release: 14.04 Codename: trusty

uname -a

Linux controller.estinet.com 3.13.0-101-generic 148-Ubuntu SMP Thu Oct 20 22:08:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

# sudo -u gitlab-psql  /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data.9.6.1 --locale C --encoding  --lc-collate=C. --lc-ctype=C.                             
initdb: invalid locale name "C."
The files belonging to this database system will be owned by user "gitlab-psql".
This user must also own the server process.

The database cluster will be initialized with locales
  COLLATE:  C
  CTYPE:    zh_TW.UTF-8
  MESSAGES: C
  MONETARY: C
  NUMERIC:  C
  TIME:     C
initdb: "--lc-collate=C." is not a valid server encoding name

# locale 
LANG=zh_TW.UTF-8
LANGUAGE=
LC_CTYPE="zh_TW.UTF-8"
LC_NUMERIC=zh_TW.UTF-8
LC_TIME=zh_TW.UTF-8
LC_COLLATE="zh_TW.UTF-8"
LC_MONETARY=zh_TW.UTF-8
LC_MESSAGES="zh_TW.UTF-8"
LC_PAPER=zh_TW.UTF-8
LC_NAME=zh_TW.UTF-8
LC_ADDRESS=zh_TW.UTF-8
LC_TELEPHONE=zh_TW.UTF-8
LC_MEASUREMENT=zh_TW.UTF-8
LC_IDENTIFICATION=zh_TW.UTF-8
LC_ALL=