温馨提示×

linux pgadmin为何显示乱码

小樊
34
2026-09-06 14:06:53
栏目: 智能运维

在 Linux 上使用 pgAdmin 出现乱码,通常是字符编码、系统语言环境(locale)或字体的问题。下面按常见原因逐个说明,并给出解决办法。


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

pgAdmin(尤其是 pgAdmin 4)依赖系统的 locale 设置,如果 locale 不是 UTF-8,很容易出现中文乱码。

检查当前 locale

locale

如果看到类似:

LANG=C
LC_CTYPE="POSIX"

就可能导致乱码。

解决:设置为 UTF-8 locale

例如(以中文为例):

sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8

或英文系统也建议:

LANG=en_US.UTF-8

修改后 注销或重启,再打开 pgAdmin。


二、pgAdmin 界面字体不支持中文

有些 Linux 发行版默认字体不含中文字形,pgAdmin 用的是系统字体。

解决办法

  1. 安装中文字体:
# Debian / Ubuntu
sudo apt install fonts-noto-cjk

# CentOS / Rocky / Alma
sudo yum install google-noto-sans-cjk-fonts
  1. 重启 pgAdmin

三、数据库本身编码不是 UTF-8

即使界面正常,查询结果显示乱码,通常是数据库编码问题。

查看数据库编码

SELECT datname, pg_encoding_to_char(encoding)
FROM pg_database;

推荐

  • 数据库:UTF8
  • 客户端编码:UTF8

查看客户端编码:

SHOW client_encoding;

如果不是 UTF8:

SET client_encoding = 'UTF8';

四、pgAdmin 4 在浏览器中打开(常见)

pgAdmin 4 默认用 本地浏览器 打开。

如果浏览器语言或编码设置异常,也会乱码。

建议

  • 使用 Chrome / Firefox
  • 浏览器语言设置为中文或英文 UTF-8
  • 不要强制 GBK

五、旧版 pgAdmin 3(已停止维护)

pgAdmin 3 在 Linux 上乱码更常见,原因是:

  • 不支持现代字体
  • 对 locale 敏感

✅ 强烈建议迁移到 pgAdmin 4


六、快速自检清单 ✅

  • [ ] locale*.UTF-8
  • [ ] 安装了 CJK 字体
  • [ ] PostgreSQL 数据库是 UTF8
  • [ ] 使用 pgAdmin 4
  • [ ] 浏览器语言是 UTF-8

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

  • Linux 发行版(Ubuntu / CentOS / Arch?)
  • pgAdmin 版本(3 还是 4)
  • 乱码出现在 界面 还是 数据

我可以给你更精确的命令。

0