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

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

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

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

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

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

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

解决方法

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

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

错误方向

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

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

相关文章:

  • 2021-12-17
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2021-07-17
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-19
  • 2022-12-23
  • 2021-09-22
  • 2021-07-20
  • 2022-02-13
  • 2022-12-23
相关资源
相似解决方案