Npgsql 从数据库中读取特殊字符
Npgsql reading special characters from database
我将数据存储在带有特殊字符(波兰语、德语:ß、ń、ł、ó...)的 postgresql 数据库(版本 13.1)中。到目前为止,我在使用 Npgsql 读取它们时从未遇到过问题。在新项目中,这些字符(正确保存在数据库中)通过错误编码(例如 \U0144、\xdf...)进行转换。这与项目(Xamarin、WPF)无关。在一个简短的代码片段下方,它检索了错误的编码数据。
NpgsqlConnection connection = new NpgsqlConnection(new NpgsqlConnectionStringBuilder { ... }.ToString());
connection.Open();
NpgsqlDataReader reader = new NpgsqlCommand("SELECT name FROM stack ORDER BY id;", connection).ExecuteReader();
reader.Read();
string asd = reader.GetString(0);
编码问题是通过 pgAdmin 插入数据的结果,它使用与 npgsql 不同的编码。
我将数据存储在带有特殊字符(波兰语、德语:ß、ń、ł、ó...)的 postgresql 数据库(版本 13.1)中。到目前为止,我在使用 Npgsql 读取它们时从未遇到过问题。在新项目中,这些字符(正确保存在数据库中)通过错误编码(例如 \U0144、\xdf...)进行转换。这与项目(Xamarin、WPF)无关。在一个简短的代码片段下方,它检索了错误的编码数据。
NpgsqlConnection connection = new NpgsqlConnection(new NpgsqlConnectionStringBuilder { ... }.ToString());
connection.Open();
NpgsqlDataReader reader = new NpgsqlCommand("SELECT name FROM stack ORDER BY id;", connection).ExecuteReader();
reader.Read();
string asd = reader.GetString(0);
编码问题是通过 pgAdmin 插入数据的结果,它使用与 npgsql 不同的编码。