使用UTF8编码创建数据库

时间:2019-01-02 11:23:57

标签: c# postgresql .net-core entity-framework-core npgsql

我想使用具有代码优先功能和UTF编码功能的entityframework / npgsql驱动程序创建数据库。

在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

我手动尝试过:

  

将CLIENT_ENCODING设置为“ UTF8”

  

显示client_encoding

返回

  

client_encoding_text

     

UTF8

但是,尽管PGAdmin 3仍然显示该数据库的编码为“ LATIN2”

我的应用程序正在接收异常

  

PostgresException:22P05:编码为“ UTF8”的字符0xe2889e在“ LATIN2”中没有等效项

那么,如何使用context.Database.EnsureCreated()通过Entityframework和NPSQL驱动程序通过Entityframework使用UTF8创建数据库?

0 个答案:

没有答案