Windows Terminal中Oh-My-Posh初始化后乱码问题求助
解决Oh-My-Posh图标显示为随机Unicode字符的问题
排查与修复步骤
1. 确认Windows Terminal字体配置
- 打开Windows Terminal设置(快捷键
Ctrl+,) - 找到PowerShell 7.4.4的专属配置文件,在外观选项卡中:
- 确保字体选择的是
Lilex Nerd Font(必须是带Nerd Font后缀的版本,而非普通Lilex字体) - 同时检查终端全局默认配置的字体是否也设置为该字体,避免配置继承冲突
- 确保字体选择的是
- 保存设置后完全重启Windows Terminal
2. 切换到Nerd Font适配主题
- 执行
oh-my-posh get shell查看当前使用的主题 - 如果主题未适配Nerd Font,切换到官方推荐的兼容主题测试:
oh-my-posh init powershell --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" | Invoke-Expression - 若图标恢复正常,可将该主题配置写入
$PROFILE永久生效
3. 检查终端输出编码
- 在PowerShell中执行以下命令,确认输出编码为UTF-8:
[Console]::OutputEncoding - 若输出不是
System.Text.Utf8Encoding,执行命令设置编码并重启终端:[Console]::OutputEncoding = [System.Text.Encoding]::Utf8 - 如需永久生效,将上述命令添加到
$PROFILE文件中
4. 重置Oh-My-Posh缓存与配置
- 清理缓存文件:
Remove-Item -Path $env:POSH_CACHE_PATH -Recurse -Force - 重新执行初始化命令:
oh-my-posh init powershell | Invoke-Expression - 打开
$PROFILE文件(执行notepad $PROFILE),确认初始化命令已正确写入
5. 验证字体安装完整性
- 打开Windows字体设置,查找
Lilex Nerd Font,确认全字重(Regular、Bold等)均已安装 - 若安装不完整,重新下载最新版本的Lilex Nerd Font,选择“为所有用户安装”后重启终端
内容的提问来源于stack exchange,提问作者Dylan Barton
相关产品推荐
相关产品推荐

