使用c#postgres npgsql - 尝试将特殊字符写入ascii编码数据库

时间:2011-04-12 10:26:11

标签: c# postgresql npgsql

我正在使用开源库npgsql http://pgfoundry.org/projects/npgsql/来操作postgres数据库中的第三方数据。数据库编码为SQL_ASCII。

如果我使用标准的c#字符串运行查询,如

插入城市(城市名称)值(“Köln”)

数据库中显示的值看起来更像是:пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ

e.g。加扰。我花了很多时间尝试使用不同的字符串编码等没有成功

1 个答案:

答案 0 :(得分:1)

SQL_ASCII表示您关闭数据库中的编码功能。因此,您可以确保所有客户端使用相同的编码。我相信npgsql将始终使用UTF8,并且无法更改。

因此没有“数据库中显示的值” - 它将取决于与数据库通信的客户端所处的编码。

解决此问题的最佳方法是在数据库中设置实际编码,并将其设置为有用的内容 - 例如UTF8或LATIN1。