Я бы хотел создать базу данных с драйвером 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()
?