最近在用Postgresql数据库和Visual studio C#2003进行测试, 发现其中数据的字符集出现问题, 不知道怎么解决,
偶然性的出现ERROR: 22P05: character 0xe69887 of encoding "UTF8" has no equivalent in "EUC_CN"这样的错,无法执行有效的SQL语句(将该语句放在pgAdmin中可以很顺畅的执行)。数据库服务端为utf8。客户端设为EUC_CN字符集也不行。
  有遇到这个问题的同仁提供下解决方案,谢谢了,一直被这个问题困扰着......

解决方案 »

  1.   

    程序中自己转吧。System.Text.Encoding.GetEncoding("gb2312").GetString(System.Text.Encoding.GetEncoding("iso-8859-1").GetBytes(row[1].ToString())
      

  2.   

    谢谢您的回答,请问,是否需要更改postgresql.config配置文件中的client_encoding的值?
      

  3.   


    执行set client_encoding=字符集?
      

  4.   


    是的,可以执行set client_encoding=gbk,在pgsql的sql语句中。
      

  5.   

    谢谢大家的帮助,问题终于得到解决了,非常感谢大家。
    我之前设置的是enu_cn,总是会偶然出现报错, 现在设置为gbk后,就没有出现这样的问题。
    真的谢谢大家......