【发布时间】:2021-06-01 07:17:02
【问题描述】:
为什么我的 VSCode 集成终端无法显示正确的表情符号:
文本文件:
???? Emoji
使用cat file.txt 产生输出:
�???? Emoji
我使用正确的 UTF8 字体MesloLGS NF(pk10 电力线字体)。
我使用git-bash.exe。从任务栏(薄荷终端?)启动 git-bash.exe 可以很好地处理这些表情符号。也可以使用 3 个字节的表情符号。
欢迎提供任何线索。
【问题讨论】:
-
locale -a在 mintty 和 vscode 中有什么区别? -
hexdump -C -n 10 file.txt的输出是什么?也许有 BOM? -
您在 VS Code 集成终端中使用的是什么 shell?默认为 PowerShell,但您可以按照code.visualstudio.com/docs/editor/integrated-terminal#_windows 的说明将其更改为 Git Bash。通常 UTF-8 问题可以通过从 PowerShell(或 CMD)切换到 Git Bash 来解决。还可以尝试将
export TERM=xterm放入 ~/.bash_profile。我在ii.com/git-bash-is-my-preferred-windows-shell 写了一些关于此的内容 -
我也有这个问题,我真的很好奇。这里有一个可能的线索:如果你在运行 Git Bash 的 VS Code 终端中运行
chcp.com,它会显示Active code page: 437。在 mintty 中,chcp.com显示Active code page: 65001。在 VS Code 的终端中,我运行了chcp.com 65001,但仍然得到方框问号字符。这里发生了某种奇怪的表情符号序列/代码页/编码/UTF-8/UTF-16,我想知道这是否应该发布在 VS Code GitHub 问题中?
标签: visual-studio-code utf-8 cygwin git-bash mintty