我正在使用开源库npgsql http://pgfoundry.org/projects/npgsql/来操作postgres数据库中的第三方数据。数据库编码为SQL_ASCII。
如果我使用标准的c#字符串运行查询,如
插入城市(城市名称)值(“Köln”)
数据库中显示的值看起来更像是:пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
e.g。加扰。我花了很多时间尝试使用不同的字符串编码等没有成功
答案 0 :(得分:1)
SQL_ASCII表示您关闭数据库中的编码功能。因此,您可以确保所有客户端使用相同的编码。我相信npgsql将始终使用UTF8,并且无法更改。
因此没有“数据库中显示的值” - 它将取决于与数据库通信的客户端所处的编码。
解决此问题的最佳方法是在数据库中设置实际编码,并将其设置为有用的内容 - 例如UTF8或LATIN1。