默认情况下,Windows 中的 PowerShell 似乎输出 UTF-16(例如,如果我执行简单的echo hello > hi.txt,hi.txt则以 UTF-16 结束)。我知道我可以通过代替执行将其强制为我想要的文本编码echo hello | out-file -encoding utf8 hi.txt,但我希望它只是我使用重定向运算符时的默认值。有没有办法实现这一目标?
有人可以解释一下 Windows 7 (Pro 64-bit) 有什么变化吗?
详细信息:以前我使用的是 Windows XP,并且有一些 CSV 格式的翻译文件(UTF-8 编码)。我能够在记事本和 Excel 中查看字体。升级到 Windows 7 后,当我打开这些文件时——我看到的只是方框(你知道,如果我在浏览器中打开它们——我能够看到所有的翻译)。如果我用 Unicode 保存这些文件,一切似乎都很好。
那么,究竟发生了什么?为什么 Windows 7 使用 Unicode 而不是 UTF-8?
我们知道有一个应用叫做AppLocale,它可以改变非Unicode应用的代码页,解决文本显示问题。
但是有一个程序的正确显示代码页是 UTF-8,这意味着它的文本应该显示为 UTF-8,但 Windows 将其显示为本机代码页并使文本不可读。看起来好笑,因为几乎所有的国家和地区都有,但是没有UTF-8。我认为这是一个错误,因为程序员可能会使用英文而忽略测试非英文文本显示问题。我不认为制片人会修复它,我想自己修复它。
是否可以使用 AppLocale 等软件将非 Unicode 输出设置为 UTF-8?默认的非 Unicode 输出是本机代码页?如何将本机代码页设置为 UTF-8?
code-page ×1
locale ×1
powershell ×1
redirection ×1
unicode ×1
utf-8 ×1
windows ×1
windows-7 ×1
windows-xp ×1