以下文字墙的摘要:如何在Ruby中显示重音字符(因此它们通过put等工作)?
您好!我正在为我的班级编写一个程序,用西班牙语显示一些句子。当我尝试在Ruby中使用重音字符时,它们无法正确显示(在NetBeans输出窗口中(在Java中显示重音字符)或命令提示符中。
起初,我的一些代码甚至没有运行,因为我的数组中的重音字符丢掉了Ruby中断器(我猜?)。我得到像Ruby这样的错误,期待一个结束。
但我做了一些研究,并找到了一个解决方案,将以下代码行添加到我的Ruby文件的开头:
# coding: utf-8
在NetBeans中,无论此行如何,我的程序都会运行。但我需要添加此行以使我的程序在命令提示符下成功运行。 (我不知道为什么。)
然而,我仍然在向屏幕显示字符时遇到问题。诸如“será”之类的单词将在NetBeans输出窗口中显示为“seré”。在命令提示符下,它会绘制很少的管道字符(我不知道如何键入)。做了一些研究,我听说过:
$KCODE = 'UTF-8'
但是我没有运气。
我正在使用Ruby 1.8和1.9(我在不同的机器之间来回)。
谢谢, 德里克
答案 0 :(得分:3)
默认情况下,Windows 7中的命令提示符具有光栅字体。它不支持unicode。首先,您应该将cmd字体更改为Lucida Console
或Consolas
。然后使用chcp 65001
更改命令提示符的代码页。您可以手动执行此操作或将此行添加到您的ruby程序中:
# encoding: utf-8
`chcp 65001` #change cmd encoding to unicode
puts 'será test '