Ruby和Accented角色

Der*_*rek 6 ruby utf-8 non-ascii-characters

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


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

起初,我的一些代码甚至没有运行,因为我的数组中的重音字符丢掉了Ruby中断器(我猜?).我得到像Ruby这样的错误,期待收尾.

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

# coding: utf-8

在NetBeans中,无论此行如何,我的程序都会运行.但我需要添加此行以使我的程序在命令提示符下成功运行.(我不知道为什么.)

但是,我仍然在向屏幕显示字符时遇到问题.诸如"será"之类的单词将在NetBeans输出窗口中显示为"seré".并在命令提示符下绘制很少的管道字符(我不知道如何键入).

做了一些研究,我听说:

$KCODE = 'UTF-8'

但我对此没有任何好运.


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

谢谢,德里克

Vas*_*ich 3

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

\n\n
# encoding: utf-8\n`chcp 65001` #change cmd encoding to unicode\nputs 'ser\xc3\xa1 test '\n
Run Code Online (Sandbox Code Playgroud)\n