Создать базу данных с кодировкой UTF8 - PullRequest
0 голосов
/ 02 января 2019

Я бы хотел создать базу данных с драйвером entityframework / npgsql с подходом, основанным на коде, но также с кодировкой UTF.

В PGAdmin 3 я не могу изменить кодировку, поскольку ее поле доступно только для чтения

Этот sql показывается в PGAdmin, когда я выбираю свою базу данных

CREATE DATABASE db
WITH OWNER = dbuser
       ENCODING = 'LATIN2' <------------
       TABLESPACE = pg_default
       LC_COLLATE = 'pl_PL'
       LC_CTYPE = 'pl_PL'
       CONNECTION LIMIT = -1;

Но я хочу изменить ее с LATIN2 на UTF8

Я пробовал это вручную:

SET CLIENT_ENCODING TO 'UTF8'

и

show client_encoding

возвращает

client_encoding_text

UTF8

, но, несмотря на это, PGAdmin 3 по-прежнему показывает, что в этой базе данных есть кодировка "LATIN2"

и мое приложение получает исключение

PostgresException: 22P05: символ 0xe2889e, кодирующий «UTF8», не имеет эквивалента в «LATIN2»

Итак, как я могу создать БД с UTF8 через Entityframework с NPSQLдрайвер для postgre с использованием context.Database.EnsureCreated()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...