温馨提示×

ubuntu pgadmin为何显示乱码

小樊
49
2026-09-15 21:47:32
栏目: 智能运维

在 Ubuntu 上使用 pgAdmin 出现乱码,通常不是 PostgreSQL 本身的问题,而是**客户端环境(字体、编码、区域设置)**的问题。下面按常见原因和解决办法来说明。


一、最常见原因:系统区域(Locale)不是 UTF-8

pgAdmin 默认使用 UTF-8,如果系统 locale 不是 UTF-8,就容易出现中文乱码。

检查当前 locale

locale

如果看到类似:

LANG=C
LC_CTYPE=C

或不是 UTF-8 结尾,就会出问题。

解决方法(推荐)

sudo apt install locales
sudo dpkg-reconfigure locales

选择:

en_US.UTF-8
# 或
zh_CN.UTF-8

然后:

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

重启 pgAdmin。


二、pgAdmin 字体不支持中文

即使编码正确,字体不对也会“看起来像乱码”。

解决方式

  1. 打开 pgAdmin
  2. 菜单 → File → Preferences
  3. 找到 **User Interface → Styles`
  4. 修改字体为:
    • Noto Sans CJK SC
    • WenQuanYi Zen Hei
    • DejaVu Sans

如果系统没有中文字体:

sudo apt install fonts-noto-cjk

三、数据库 / 表字段本身编码问题

确认数据库是 UTF-8:

SHOW server_encoding;
SHOW client_encoding;

如果不是 UTF-8:

SET client_encoding = 'UTF8';

建库时推荐:

CREATE DATABASE dbname
  WITH ENCODING='UTF8'
       LC_COLLATE='zh_CN.UTF-8'
       LC_CTYPE='zh_CN.UTF-8';

四、pgAdmin 版本问题(老版本 Bug)

  • pgAdmin 4 < 4.x:对中文支持较差
  • 建议使用 pgAdmin 4 最新版

升级方式:

sudo apt update
sudo apt install pgadmin4

或通过官方 apt 源安装。


五、Wayland / 显示环境问题(较少见)

如果你用的是 Ubuntu 22.04+ 的 Wayland:

echo $XDG_SESSION_TYPE

可尝试:

GDK_BACKEND=x11 pgadmin4

快速自查清单 ✅

  • [ ] locale 是 UTF-8
  • [ ] 安装了中文字体
  • [ ] pgAdmin 字体设置正确
  • [ ] 数据库是 UTF-8
  • [ ] pgAdmin 是最新版

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

  • Ubuntu 版本
  • pgAdmin 版本
  • 乱码出现在菜单 / 数据 / 查询结果哪一部分

我可以更精准地帮你定位。

0