专栏首页datartisan一文读懂PostgreSQL编码方式

一文读懂PostgreSQL编码方式

PostgreSQL 中的字符集支持允许以各种字符集(也称为编码)存储文本,包括单字节字符集,如 ISO 8859系列和多字节字符集,如 EUC (EUC)、 UTF-8和 Mule 内部代码。所有支持的字符集都可以由客户机透明地使用,但是有一些字符集不支持在服务器中使用(即作为服务器端编码)。使用 initdb 初始化 PostgreSQL 数据库集群时选择了默认字符集。在创建数据库时可以重写它,因此可以使用多个数据库,每个数据库具有不同的字符集。

在 Windows 上,UTF-8编码可以用于任何语言环境。所以,windows PostgreSQL 服务器端(server)的默认编码方式为UTF8,在使用中文的windows系统上,操作系统的语言是GBK,所以,windows PostgreSQL 客户端(client)的默认编码方式是GBK。PostgreSQL 支持服务器和客户机之间的自动字符集转换:在此环境下插入汉字,一切正常。此时传到客户端的汉字为GBK编码,自动转为UTF8编码存到服务端;而查询时,又自动将服务端的UTF8编码转为GBK来显示,所以没有出现乱码。

当服务端编码为UTF8,客户端工具编码为GBK,查询结果出现中文乱码,可能的原因是:服务器端存储的文本不是由客户端插入的(服务器端插入的?),解决方法就是将客户端工具编码方式修改为UTF8

--方法1:
SET client_encoding TO 'UTF8';
--方法2:
\encoding 'UTF8';

附录:

查看服务器编码:

SHOW server_encoding;

查询当前的客户端编码:

SHOW client_encoding;

修改客户端编码方式:

SET client_encoding TO 'value';

返回默认编码:

RESET client_encoding;

本文分享自微信公众号 - 乐享数据8090(gh_5703273a0562),作者:披头

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-11-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一文读懂Base64编码

    我们知道一个字节可表示的范围是 0 ~ 255(十六进制:0x00 ~ 0xFF), 其中 ASCII 值的范围为 0 ~ 127(十六进制:0x00 ~ 0x...

    阿宝哥
  • 一文读懂自动编码器

    变分自动编码器(VAE)可以说是最实用的自动编码器,但是在讨论VAE之前,还必须了解一下用于数据压缩或去噪的传统自动编码器。

    商业新知
  • 【基础知识】497- 一文读懂Base64编码

    我们知道一个字节可表示的范围是 0 ~ 255(十六进制:0x00 ~ 0xFF), 其中 ASCII 值的范围为 0 ~ 127(十六进制:0x00 ~ 0x...

    pingan8787
  • 字符编码的前世今生——一文读懂字符编码

    话说六年级二班有小明、小红两位同学,最近班上开了英语课,学着学着有些无聊,这时候小明想给小红传纸条,但是又担心被发现,突然小明灵机一动,在草纸上写下了一串数字1...

    arcticfox
  • 一文读懂11大密码应用模式

    《设计模式:可复用面向对象软件的基础》可谓是面向对象技术人员的圣经和词典,书中选取了最具价值的设计实践,用简洁而易于重用的形式表达出来,定义的23个模式成为了开...

    网络安全观
  • 一文读懂原码、反码、补码

    本文转载自: https://blog.csdn.net/u011488256/article/details/52204074 作者:僵尸男孩

    我的小碗汤
  • 一文读懂原码、反码与补码

    二进制和十进制一样,也是一种进位计数制,但是它的基数是 2。二进制表达式中 0 和 1 的位置不同,它所代表的数值也不同。例如,二进制数 0000 1010 表...

    阿宝哥
  • 一文读懂「分布式架构」

    分布式架构是分布式计算技术的应用和工具,其中J2EE技术应用较为广泛,它简化和规范多层分布式企业应用系统的开发和部署,它可以给分布式应用软件提供在各种技术间共享...

    杰哥的IT之旅
  • 【干货】一文读懂什么是变分自编码器

    【导读】本文是工程师Irhum Shafkat的一篇博文,主要梳理了变分自编码器的相关知识。我们知道,变分自编码器是一种生成模型,在文本生成、图像风格迁移等诸多...

    WZEARW
  • 一文读懂分布式Session常见解决方案

    沉思君在之前的文章《谈谈HTTP状态保持》里介绍了有关HTTP状态保持的知识点,我们知道HTTP协议本身是无状态的,因此在使用HTTP协议进行通信的过程中,需要...

    Bug开发工程师
  • 一文读懂分布式Session常见解决方案

    沉思君在之前的文章《谈谈HTTP状态保持》里介绍了有关HTTP状态保持的知识点,我们知道HTTP协议本身是无状态的,因此在使用HTTP协议进行通信的过程中,需要...

    Bug开发工程师
  • 一文读懂分布式Session常见解决方案

    前言 沉思君在之前的文章《谈谈HTTP状态保持》里介绍了有关HTTP状态保持的知识点,我们知道HTTP协议本身是无状态的,因此在使用HTTP协议进行通信的过程中...

    Bug开发工程师
  • 一文读懂MySQL 8.0直方图

    0. 什么是直方图1. 直方图怎么工作2. 同时有索引和直方图会怎样3. 如何提高直方图的统计精确度

    田帅萌
  • 一文读懂 DEX 文件格式解析

    我想说的是写个解析脚本不是为了模仿着 apktools 造轮子,而是在解析过程中寻找逆向的道路,方法会变,工具会变,但一切都建立在 dex 上的安卓不会变

    信安之路
  • 一文搞懂Base64编码原理

    Base64是最常见的用于传输8Bit字节码的编码方式之一,它是一种基于64个可打印字符来表示二进制数据的方法。

    xxpcb
  • 一文读懂分布式唯一ID生成

    很多大的互联网公司数据量很大,都采用分库分表,那么分库后就需要统一的唯一ID进行存储。这个ID可以是数字递增的,也可以是UUID类型的。

    Java_老男孩
  • 一文读懂 YUV 的采样与格式

    RGB 三个字母分别代表了 红(Red)、绿(Green)、蓝(Blue),这三种颜色称为 三原色,将它们以不同的比例相加,可以产生多种多样的颜色。

    音视频开发进阶
  • 一文读懂Redis的三种模式(下)

    在上一篇中,我们简单介绍了Redis三种模式中的两种模式,即主从模式、Sentinel模式,并对这两种模式的优缺点进行了总结:

    高性能架构探索
  • 一文读懂Redis的四种模式(上)

    Redis是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。从2015年6月开始,Redis的开发由Redis Lab...

    高性能架构探索

扫码关注云+社区

领取腾讯云代金券