温馨提示×

ubuntu pgadmin为何乱码

小樊
47
2026-09-18 21:11:00
栏目: 智能运维

在 Ubuntu 上使用 pgAdmin 出现乱码,通常和字符编码、系统语言环境、字体有关。下面按常见原因给你排查和解决思路。


一、最常见原因:系统 locale 不是 UTF-8

pgAdmin 依赖系统的 locale 显示中文。

检查当前 locale

locale

如果看到类似:

LANG=C
LC_CTYPE="POSIX"

就很可能乱码。

解决:设置为 UTF-8(如中文)

sudo apt install locales
sudo dpkg-reconfigure locales

勾选:

zh_CN.UTF-8
en_US.UTF-8

设置默认 zh_CN.UTF-8

然后重启或重新登录。


二、pgAdmin 界面本身乱码(不是数据)

1️⃣ 缺少中文字体

Ubuntu 最小化安装常缺字体。

sudo apt install fonts-noto-cjk

或:

sudo apt install fonts-wqy-zenhei

安装后重启 pgAdmin。


2️⃣ 使用 pgAdmin 4(Web / Electron)

如果你用的是 pgAdmin 4

  • 浏览器访问:确保浏览器语言是中文
  • Electron 版:
    export LANG=zh_CN.UTF-8
    pgadmin4
    

三、数据库数据乱码(重点)

如果是查询出来的中文乱码,问题在 PostgreSQL,不在 pgAdmin。

1️⃣ 查看数据库编码

SELECT datname, encoding, collation
FROM pg_database;

应为:

UTF8

2️⃣ 客户端编码设置

在 pgAdmin 的 Query Tool 里执行:

SHOW client_encoding;

如果不是 UTF8

SET client_encoding = 'UTF8';

或在 postgresql.conf

client_encoding = UTF8

四、连接字符串指定编码(推荐)

host=localhost dbname=test user=postgres client_encoding=UTF8

五、总结快速排查顺序

✅ 系统 locale = UTF-8
✅ 安装中文字体
✅ 数据库编码 = UTF8
✅ 客户端编码 = UTF8


如果你愿意,可以告诉我:

  • pgAdmin 版本(3 / 4)
  • Ubuntu 版本
  • 界面乱码还是数据乱码

我可以给你更精确的解决办法。

0