背景:
我正在使用 DejaVu Sans Mono for Powerline 字体,通过 .Xresources 行指定:
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
当我启动 urxvt 时,unicode 字符无法正确呈现。
例如
? 呈现为 â
但是,如果我然后urxvt从第一个终端内部开始一个新的,一切都会正确呈现。
两个终端之间的环境似乎没有任何差异。
第一次调用和嵌套调用之间有什么区别?我怀疑“外部”实例中的字体不正确,但我不确定如何检查正在运行的 X 窗口的字体
更新:似乎在 xfce4 的应用程序启动器中没有正确设置语言环境,但大概第一个终端内的外壳初始化它自己的语言环境,这意味着两个外壳具有相同的语言环境。
添加
export LANG=en_GB.UTF-8
Run Code Online (Sandbox Code Playgroud)
在 xfce4 启动之前到 .xinitrc 似乎修复了它。我怀疑这不是正确的方法,但它对我来说效果很好。
屏幕截图演示了问题:

注意:我从 serverfault.com 移动了这个问题 - 我希望这个站点更合适