sql >> Database >  >> RDS >> PostgreSQL

codering van UTF8 komt niet overeen met locale en_US; de gekozen LC_CTYPE-instelling vereist codering LATIN1

Ik beantwoord dit omdat niets van StackOverFlow voor mij werkte.

Ik heb twee oplossingen van andere sites gecombineerd die het werk deden (dit antwoord werkt voor Ubuntu-server 12.04 en PGSQL 9.1):

Maak een bestand:

nano /etc/profile.d/lang.sh

Voeg het volgende toe

export LANGUAGE="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

Opslaan

Herstart shell of voer alle exportopdrachten handmatig uit in de huidige shell-instantie

Configureer opnieuw zodat de codering UTF8 kan zijn ([heb het hier vandaan][1])

sudo su postgres

psql

update pg_database set datistemplate=false where datname='template1';
drop database Template1;
create database template1 with owner=postgres encoding='UTF-8'

  lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;

update pg_database set datistemplate=true where datname='template1';

Gebruik sjabloon1 voor het maken van db.

Ik hoop dat dit helpt;)



  1. MVP-top 2013:een korte terugblik en een vooruitblik

  2. Hoe te herschrijven IS ONDERSCHEIDEN VAN en IS NIET ONDERSCHEIDEN VAN?

  3. Equivalent van Oracle's RowID in MySQL

  4. Verander tabel/kolom/index namen grootte in orakel 11g of 12c