2012-04-01 14 views
23

dla następujących baz danych MySQL tworzenie komunikatu, jaki byłby odpowiednik w PostgreSQL ?:UTF8 Postgresql Tworzenie baz danych takich jak MySQL (w tym zestawie znaków, kodowania i lc_type)

CREATE DATABASE IF NOT EXISTS `scratch` 
    DEFAULT CHARACTER SET = utf8 
    DEFAULT COLLATE = utf8_unicode_ci; 

Obecnie mam:

CREATE DATABASE "scratch" 
    WITH OWNER "postgres" 
    ENCODING 'UTF8' 
    TABLESPACE "pg_default"; 

Czy to wystarczy, czy powinienem być bardziej szczegółowy, w tym LOCALE?

Odpowiedz

38

Tak, możesz być bardziej konkretny.

Na przykład:

CREATE DATABASE "scratch" 
    WITH OWNER "postgres" 
    ENCODING 'UTF8' 
    LC_COLLATE = 'en_US.UTF-8' 
    LC_CTYPE = 'en_US.UTF-8'; 

Również polecam przeczytanie poniższych stron o lokalizacjach i sortowania w PostgreSQL:

+0

Dzięki Michael. To było więcej potwierdzenia, gdy wymyśliłem to samo; Jednak nigdy nie widzę takich przykładów _ gdziekolwiek indziej, ale zawsze wolę być w 100% jednoznaczny. Zerknąłem na dokumenty, zanim zadałem to pytanie; Jednak mimo, że wciąż miałem dokładnie taką składnię, jaką mi dałeś, nadal nie czułem się pewnie, że czegoś mi nie brakuje. To do mnie odnosi się do faktu, że dokumenty mogłyby być trochę lepsze na dostarczaniu przykładów. –

+1

To działało dla mnie, ale musiałem dodać następujące ograniczenie, aby to działało: 'TEMPLATE = template0' – Lucas

+2

Sortowanie pg jest bardzo mylące. W mysql standardem jest utf8mb4_unicode_ci - wszystkie języki w jednym sortowaniu. To nie jest zachowanie zdefiniowane przez RFC lub ISO, ale działa! Cały punkt unicode/utf8 to obsługa wszystkich języków * bezproblemowo *. Aby określić utf8, a następnie zostać zmuszonym do sortowania według pojedynczego sortowania jak en_US, jest nie tylko mylące, ale bezużyteczne. Wymagane jest wyświetlanie angielskiego, chińskiego, japońskiego i innych na tej samej stronie w określonym porządku! Nie mogę po prostu założyć, że każdy klient pracuje z jednym podstawowym językiem. Jak do cholery do obsługi wielu języków? –

Powiązane problemy