在 Ubuntu 上运行 Jellyfin 出现乱码,通常不是 Jellyfin 本身的问题,而是系统字体缺失或语言环境(locale)配置不正确导致的。下面按常见原因逐一说明和解决。
Jellyfin 的 Web 界面或元数据(如中文电影名)显示乱码,多半是服务器系统没有中文字体。
sudo apt update
sudo apt install fonts-noto-cjk -y
安装完成后重启 Jellyfin:
sudo systemctl restart jellyfin
✅ 如果是 Docker 运行,需要在宿主机或容器内部都安装字体。
Docker 容器内可这样操作:
docker exec -it jellyfin bash
apt update && apt install fonts-noto-cjk -y
如果 Ubuntu 的 locale 不是 UTF-8,Jellyfin 可能解析中文出错。
locale
如果看到:
LANG=
LC_ALL=
或不是 UTF-8,就需要设置。
sudo apt install locales
sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8
重启系统或 Jellyfin:
sudo reboot
有时不是服务器问题,而是:
如果是字幕乱码(不是界面乱码):
.srt 字幕用了 GBK 编码将字幕转为 UTF-8:
iconv -f GBK -t UTF-8 input.srt -o output.srt
或使用工具(如 Subtitle Edit)。
很多人是在 Docker 里跑 Jellyfin,宿主机有中文,但容器里没有。
✅ 正确做法:
docker-compose.yml 中挂载字体目录volumes:
- /usr/share/fonts:/usr/share/fonts:ro
如果你愿意,可以把:
发给我,我可以更精准帮你定位。