What is going wrong with postgresql initdb? Why is the `UTF-8` encoding not getting enforced?
If initdb is run through a run-level script of the OS. This script might not pass on the parameters.

I couldn't run initdb directly as a superuser. Gave an 

initdb: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.


error. After logging in as an unprivileged user I was able to initialize the db with the proper encoding.

To initilize the db, run initdb directly. The command 

/usr/bin/initdb --pgdata=/var/lib/pgsql9/data/ -E 'UTF-8' \
--lc-collate='en_US.UTF-8' \
--lc-ctype='en_US.UTF-8';


was run under the non-superuser postgres.