sql >> Databáze >  >> RDS >> PostgreSQL

kódování UTF8 neodpovídá národnímu prostředí en_US; zvolené nastavení LC_CTYPE vyžaduje kódování LATIN1

Odpovídám na to, protože nic ze StackOverFlow mi nefungovalo.

Zkombinoval jsem dvě řešení z jiných webů, které tuto práci provedly (tato odpověď funguje pro server Ubuntu 12.04 a PGSQL 9.1):

Vytvořte soubor:

nano /etc/profile.d/lang.sh

Přidejte následující

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

Uložit

Restartujte shell nebo spusťte všechny exportní příkazy ručně v aktuální instanci shellu

Překonfigurujte tak, aby kódování mohlo být UTF8 ([získáno odtud][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';

Pro vytvoření db použijte šablonu1.

Doufám, že to pomůže;)



  1. SQL Server PIVOT možná?

  2. Porovnání vrstev abstrakce databáze PHP a zásuvných modulů CRUD

  3. První pohled na nový odhad kardinality serveru SQL Server

  4. Čítač přírůstků MySQL SELECT