3 回答
TA贡献1891条经验 获得超3个赞
Windows cmd 和 PowerShell 控制台的问题是 Consolas 和 Lucida Console 等字体中缺少 CJK 字符。在 Windows 10 上,将控制台字体更改为支持 CJK 字符的字体,例如 NSimSun 或 SimSun-ExtB。
例如,
font.go:
package main
import (
"fmt"
)
func main() {
fmt.Println("✓ Hello, 世界")
// OR
fmt.Println("\u2713 Hello, 世界")
}
输出(NSimSun):
Microsoft Windows [Version 10.0.17134.345]
>go version
go version devel +47cc59f31f Tue Oct 23 00:29:57 2018 +0000 windows/amd64
>go run font.go
✓ Hello, 世界
✓ Hello, 世界
>
TA贡献1772条经验 获得超8个赞
尝试在Windows PowerShell ISE中运行。
它对显示 Unicode 有很好的支持。
CMD 和 PowerShell 不能很好地支持命令行 shell中的 Unicode 字体,因为它们并不是真正使用“字体”来显示文本,而是使用转换为字符的 ANSI/VT 代码页。因此,尽管 PowerShell 能够在内部支持 Unicode,并且您可以在对象和函数之间传递它们,但命令行 shell根本无法显示它们,因为代码页和显示之间的转换不存在。
Windows PowerShell ISE 不同于从命令行shell运行 PowerShell ,因为 ISE 显示输出并且不必使用 ANSI/VT 序列在 shell 和 PowerShell 控制台主机之间传递命令。而且它没有任何遗留脚本需要处理。
- 3 回答
- 0 关注
- 260 浏览
添加回答
举报