postgresql返回中文乱码

今天用vs2019操作postgresql数据库时出现了以下两个问题

  1. insert插入中文数据失败,返回错误信息为中文乱码
    閿欒 : 鏃犳晥鐨?"UTF8" 缂栫爜瀛楄妭椤哄簭: 0xb3

  2. select获取信息,返回的中文信息为中文乱码

百度搜到的基本上都是这篇文章的无限转载

https://www.cnblogs.com/winkey4986/p/6279243.html

不过能明确的一点是,本地环境编码客户端编码不相同导致了这个问题

  • 本地环境:指vs
  • 客户端:指安装好postgresql自带的shell

解决方法

  1. 进入你的客户端即SQL shell,登录你所需的数据库,输入\encoding,查看你客户端的编码


  2. 在你的编译器,即vs中,连接数据库成功后调用set client_encoding to 'XXX';,XXX是你在第1点看到的客户端编码

错误方向

  1. 可以不用尝试去修改你的vs编码了,我改了大半天,改来改去都解决不了;
  2. 假如你使用pgadmin,也不用尝试在上面更改了,我也改了大半天,也解决不了;
  3. 不过我尝试的是utf-8,就是将vs编码改成utf-8,pgadmin将client_encoding改成utf-8,都失败了。
    这是修改vs编码的方法

https://blog.csdn.net/yanchenyu365/article/details/86615433

posted @ 2020-06-16 15:06  肥斯大只仔  阅读(4880)  评论(0编辑  收藏  举报