【发布时间】:2015-07-24 21:03:06
【问题描述】:
首先,我在两个 SQL 方面都是一个完整的 n00b,并且对不同的代码页也没有多少经验,所以答案可能很简单,这也可以解释为什么这里似乎以前没有人问过这个问题。
我有一个 PostgreSQL 数据库(v 8.4.22,协议 v3)和一个带有 npgsql 2.0 的 Unity3D 应用程序。现在,我连接到我的数据库,使用 ExecuteReader() 执行 NpgsqlCommand,得到一个 NpgsqlDataReader。现在,如果我用 GetString( int ) 从中读取,我得到一个编码错误的字符串,我的特殊字符完全搞砸了,例如我得到一个'ö'而不是'ö'。我已经在调试器中看到了这个,所以输出没有问题,返回的字符串已经搞砸了,所以我现在不知道我的选择是什么。数据库使用 UTF-8。该列的数据类型是“文本”。
顺便说一句,我在没有指定代码页的情况下进行连接,因为我读到自某些 PSQL 版本以来,连接字符串中已过时。反正我试过了,没有任何效果。
有什么想法吗?谢谢。
【问题讨论】:
标签: c# unity3d npgsql codepages