先运行一下set client_encoding=XXX
XXX取决于你应用环境的字符码, 如果是ansi的, 应改是GBK, 如果是unicode, 应该为unicode

解决方案 »

  1.   

    嗯,我在sql shell 中select到的内容是中文的。主要是在自己写的服务器中用libqp 去读取PQgetvalue(res, row, col);获取的的char *是乱码我想知道如何能获取到里面的中文参照楼上的,,并未能解决
      

  2.   

    PQexec(Conn_pointer, "select * from game");然后逐行去获取text字段的内容。我直接在sql shell  select * from game 能得到正确的中文在程序里---获取到的却是乱码。
      

  3.   


    你在shell里头得到的是中文,并不意味着是正确的。
    你在shell里,执行\encoding,  看看是什么字符集,
    然后
    在你的代码里头,调用set client_encoding=XXX
    (XXX是你查询得到的\encoding的值)
    这样应该能得到你想要的。