Ошибка при попытке создать базу данных с кодировкой UTF-8 и параметрами сортировки pt-BR.UTF-8 в PostgreSQL - PullRequest
0 голосов
/ 14 января 2019

Как мне создать базу данных с UTF-8 кодировкой и pt-BR.UTF-8 сопоставлением? Я использую PostgreSQL 9.2, и он создает базы данных с кодировкой UTF-8, но с кодировкой Portuguese.Brazil.1252 по умолчанию.

Я пытался создать один со следующим утверждением:

CREATE DATABASE "example_db"
WITH OWNER "postgres"
ENCODING 'UTF8'
LC_COLLATE = 'pt-br.UTF-8'
LC_CTYPE = 'pt-br.UTF-8'
TEMPLATE template0;

но возвращает ошибку:

Error: ERROR: invalid locale name: "pt-br.UTF-8"
SQLState:  42809
ErrorCode: 0

Я хочу установить это местоположение, чтобы устранить ошибку на Laravel:

Malformed UTF-8 characters, possibly incorrectly encoded

1 Ответ

0 голосов
/ 14 января 2019

9Чтобы получить список всех доступных параметров сортировки, запросите системный каталог pg_collation. Вы можете использовать только те сопоставления, которые найдете там.

Выбранное вами сопоставление также должно быть совместимо с вашей кодировкой, но, похоже, вы все равно пытаетесь это сделать. Кроме того, в качестве исключения из правила вы можете использовать любое сопоставление с UTF8 в Windows.

Однако отображаемое сообщение об ошибке не связано с сопоставлениями. Это должно быть проблема с кодировкой в ​​laravel & mdash; во всяком случае, он не приходит из базы данных.

...