6

下面的文字墙摘要:如何在 Ruby 中显示重音字符(以便它们通过 puts 等工作)?


你好!我正在为我的班级编写一个程序,它将用西班牙语显示一些句子。当我尝试在 Ruby 中使用重音字符时,它们无法正确显示(在 NetBeans 输出窗口(在 Java 中很好地显示重音字符)或命令提示符中)。

起初,我的一些代码甚至没有运行,因为我的数组中的重音字符抛出了 Ruby 中断器(我猜?)。我遇到了错误,比如 Ruby 期望有一个右括号。

但我做了一些研究,找到了一个解决方案,将以下代码行添加到我的 Ruby 文件的开头:

# coding: utf-8

在 NetBeans 中,我的程序运行与这一行无关。但是我需要添加这一行才能让我的程序在命令提示符中成功运行。(我不知道为什么。)

但是,我仍然在将字符实际显示到屏幕上时遇到问题。诸如“será”之类的词将在 NetBeans 输出窗口中显示为“seré”。在命令提示符下,它会绘制一些竖线字符(我不知道如何输入)。

做了一些更多的研究,我听说:

$KCODE = 'UTF-8'

但我对此没有任何运气。


我正在使用 Ruby 1.8 和 1.9(我在不同的机器之间来回切换)。

谢谢,德里克

4

1 回答 1

3

默认情况下,Windows 7 中的命令提示符具有光栅字体。而且它不支持unicode。首先,您应该将 cmd 字体更改为Lucida Consoleor Consolas。然后用 . 更改命令提示符的代码页chcp 65001。您可以手动执行此操作,也可以将此行添加到您的 ruby​​ 程序中:

# encoding: utf-8
`chcp 65001` #change cmd encoding to unicode
puts 'será test '
于 2011-04-16T09:05:34.630 回答