【问题标题】:Windows Raster Fonts Encoding ErrorWindows 光栅字体编码错误
【发布时间】:2014-09-11 03:48:12
【问题描述】:

我正在编写解释器,但遇到了一个涉及字符集的特殊问题。 (我认为)。

当我在我的 Mac 上创建一个名为 hello.rd 的文件并运行该命令时;

file -I hello.rd

我得到这个输出:

hello.rd: text/plain; charset=utf-8

这表明该文件应该是 UTF-8。源文件如下所示;

print "Hello World á"

终端中的输出是:

Hello World á

这就是我想要/期望的方式。当我在 Windows 上执行代码时出现问题。当我在 Windows 上执行相同的代码时,我得到以下输出:

如您所见, á 未正确输出。我将代码页更改为 65001 并没有什么区别,但是当我使用 Lucida Console 字体时,字符显示正确。但我无法理解的是,为什么我可以使用键盘在终端中输入字母á 并显示它,但它不会从我的文件中显示出来。

接下来我在 Windows PC 上创建了一个名为 test123.rd 的文件并将此文本保存在其中:

print "Hello World á ã ß"

当我在我的 Mac 上执行时,这次我得到了不正确的输出,我得到:

Hello World ? ? ?

在我的电脑上我仍然得到不正确的输出,我得到了这个:

我在我的 Mac 上对文件 test123.rd 使用了 file -I 命令,我得到了这个输出:

test123.rd: text/plain; charset=iso-8859-1

我认为由于 test123.rd 文件中的字符集不是 UTF-8,这就是文件 test123.rd 在 OSX 上显示不正确的原因,但我不明白为什么它在 Windows 上也显示不正确。

有没有人知道如何在不更改 Windows CMD 字体的情况下解决问题?

【问题讨论】:

  • 您的 Windows 控制台可能正在使用第三种编码。
  • @SLaks 有没有办法确定它使用的是哪种编码?
  • 我是 8 位字体。有一个命令行开关可以使用 16 位 unicode。
  • @D.Ddgg 你的意思是光栅字体是 8 位字体吗?你也知道如何将它们更改为 16 位吗?

标签: windows macos unicode fonts cmd


【解决方案1】:

键入 cmd /? 以查看如何打开 unicode,然后选择 unicode 字体。另见chcp /?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    相关资源
    最近更新 更多