PostgreSQL 客户端乱码问题
关于客户端和服务器端的乱码问题, POSTGRESQL字符集问题总结 总结的很详细, 特别棒.
这里让我头痛了很久的问题在于 终端
上字符编码的问题, 由于我的mbp上的 iterm2 的默认编码为 utf-8, 字符显示乱码实际上是由于 iterm2 不能好好显示 GBK 的编码导致的. 平时终端中可以显示中文, 不清楚为何 postgresql shell 中就不行了, 这导致一直没有想到是终端的问题.
关于中文可以正常显示, 我的配置如下
1. 安装 PostgreSQL 的 locale 选择的是 zh_CN.UTF-8
2. 客户端默认编码为 utf-8, 改为 gbk (\encoding 常看当前客户端编码字符集), 有两种方式可以选择: * set client_encoding to 'gbk'* \encoding 'gbk'3. 终端 iterm2 字符编码设置为 'gbk'
引用引文的一个例子
假设服务端编码为UTF-8,客户端工具psgl默认为GBK,
在此环境下插入“汉字”,一切正常。此时传到客户的“汉字”为GBK编码,自动转为UTF-8编码存到服务端;而查询时,又自动将服务端的UTF-8编码转为GBK来显示,所以没有出现乱码。
将客户端编码设置为UTF-8,则刚才插入的“汉字”不能正常显示。因为此时客户端和服务端的编码一样,在取数据时不进行任何转换,直接将存在服务端的UTF8编码的字节传到客户端,之后psgl直接显示,所以就乱码了。
此环境下插入“汉字”,则添加不成功,因为“汉字”直接以GBK的形式传到服务端,UTF8编码不认识,所以就报错。(现在客户端编码为UTF8,所以提示的中文信息也乱码了)。
总结:
1、在此示例中,应用程序psgl,对所输入和获取的字符没做任何处理,直接显示,其使用了pg客户端一样的编码方式(GBK)。
2、在使用时尽量保证客户端编码和操作系统环境一致,不然显示和添加就会出现乱码情况。
转载于:https://www.cnblogs.com/nowgood/p/PostgreSQLcharset.html
PostgreSQL 客户端乱码问题相关推荐
- Postico —— OS X 上的免费 PostgreSQL 客户端
Postico 是 OS X 下的一个 PostgreSQL 客户端管理工具.要求 OS X 10.8 或者更新版本. 文章转载自 开源中国社区 [http://www.oschina.net]
- linux ssh客户端乱码,Win10专业版下Open ssh客户端乱码咋办?
微软早在2015年就宣布 Windows将原生支持SSH.SSH是Linux上流行的远程访问和管理工具,Windows此前没有相比拟的类似简单工具.现在OpenSSH客户端终于引入到 Windows ...
- postgresql客户端命令之口令文件
postgresql客户端命令之口令文件: 在给出其它PostgreSQL客户端命令之前,我们需要先介绍一下PostgreSQL中的口令文件.之所以在这里提前说明该文件,是因为我们在后面的示例代码中会 ...
- Mac超好用的PostgreSQL客户端:Postico Mac下载
Postico是一款Mac平台上的图形化PostgreSQL客户端工具,它提供了一个直观.简单易用的用户界面,方便开发人员与PostgreSQL数据库进行交互. 使用Postico,您可以轻松地连接到 ...
- PostgreSQL消息乱码的解决
运行环境: 客户端服务器在同一台机器:Windows7 + Postgresql9.2.2 安装时区域之类都是默认安装,Npgsql查询出来表中数据是正常的,但出错时消息是乱码. 解决方案: 修改po ...
- postgresql 客户端_一款功能强大的数据库客户端:DataGrip
前言 在我们日常的程序开发中,很大一部分时间是在与数据库打交道. 查数据,导数据,检查SQL执行计划,优化SQL等,是我们数据库开发工作的重要组成部分,而且很多时候我们会使用到多款数据库,如Oracl ...
- PostgreSQL客户端psql常用命令
使用psql客户端访问数据库, 列出了psql常用命令和参数. 常用命令 -- 使用指定用户和IP端口登陆 psql -h 10.43.159.11 -p 5432 -U postgres -W -- ...
- oracle客户端改字符集没有用,ORACLE客户端乱码 修改Oracle客户端字符集
修改Oracle客户端字符集方法: 1:可以通过修改注册表键值永久设置,类似于这样的键值: HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\HOME0下, 如一般的简体中文 nl ...
- mysql 客户端乱码_Mysql客户端中文乱码问题解决
用Mysql客户端查询发现乱码: mysql> select *from user;+----+------------+----------+------------+-----------+ ...
最新文章
- Java8 详解Lambda表达式
- 对用批处理写的chm反编译工具小析
- 借助网盘搭建SVN服务器
- 赠书:聊聊「分布式架构」那些事儿
- 轻松一下——高考笑句
- 分布式资源调度—YARN框架
- st-link v2怎么连接_三相交流电源的三角形和星形连接
- monkey 环境搭建
- sql profiler_这是SQL Profiler的结尾吗?
- 生成动态代理并加入系统功能的设计模板
- MFC多文档开发记录
- s400x ugee 驱动_联想_ThinkPad|ThinkCentre|ThinkStation服务与驱动下载_常见问题
- 射频能量用于治疗和美容
- nodejs返回带图片的HTML页面,Nodejs实现简单的网页图片获取
- linux下企业邮件服务器的搭建
- 计算机科学和热力学,相图热力学数据库及其计算软件: 过去、现在和将来
- 利用代码自动逛店铺拿喵币
- 启舰:不懂花钱的人,大概率成为Loser!
- MT6737/MT6737T/MT6737M处理器功能介绍,MT6737芯片资料下载
- Mac如何给压缩文件加密