在 Ubuntu 上使用 pgAdmin 出现乱码,通常和字符编码、系统语言环境、字体有关。下面按常见原因给你排查和解决思路。
pgAdmin 依赖系统的 locale 显示中文。
locale
如果看到类似:
LANG=C
LC_CTYPE="POSIX"
就很可能乱码。
sudo apt install locales
sudo dpkg-reconfigure locales
勾选:
zh_CN.UTF-8
en_US.UTF-8
设置默认 zh_CN.UTF-8
然后重启或重新登录。
Ubuntu 最小化安装常缺字体。
sudo apt install fonts-noto-cjk
或:
sudo apt install fonts-wqy-zenhei
安装后重启 pgAdmin。
如果你用的是 pgAdmin 4:
export LANG=zh_CN.UTF-8
pgadmin4
如果是查询出来的中文乱码,问题在 PostgreSQL,不在 pgAdmin。
SELECT datname, encoding, collation
FROM pg_database;
应为:
UTF8
在 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
如果你愿意,可以告诉我:
我可以给你更精确的解决办法。