encoding in windows (newby question)

A

Alfonso

When I write my scripts in Linux, there is no problem with the special
characters, but on windows, the special characters of my language are
not properly set (spanish). Example puts "español". I suppose for some
reason ruby detects the correct charset in linux but not in windows.
Could anyone say what is the reason for that, and the procedure to solve it?

Thanks in advance.




______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
 
A

Alfonso

Paul Lutus escribió:
Alfonso wrote:



Define "not properly set." Leave nothing to the imagination. What did you
expect, and what did you get, under what circumstances?



The answer depends on where this happened, using what output device or
editor, etc, etc..
I have tried this in two different computers with windows xp spanish
version installed. If I use the interactive console and write, for
example this line:

puts "ñ ó á é í"

then after presing enter, the result will be this: ñ ó á é í

Now, if I write the same with a text editor (I use vim, but have tried
also with notepad), this is the result: ± ¾ ß Ú Ã

As opposite, in linux, the result is allways ñ ó á é í.


______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
 
A

Alfonso

Paul Lutus escribió:
Alfonso wrote:

/ ...



You need to obtain a font that is appropriate to the language you are using.
I want to emphasize that the characters in the file are very likely to be
correct, but their representation on the display is the only problem, and
that is a font issue.

In Windows, you have the option of changing locales, or installing an
appropriate font, or both. Specifically with regard to either Notepad or
VIM, see if you have the option of changing the editing font.



Linux is typically (but not always) more aware of locale issues. An example
is the fact that I am getting the correct accented character
representations here on Fedora 5's newsreader, and I doubt that I would on
a recent Windows version.

But again, it's very likely that the characters are correct, only their
display is wrong.
Sorry, I didn't expressed me correctly. When I said that if I type ñ ó á
é í in the editor I have this result

± ¾ ß Ú Ã. I didn't mean that I couldn't see ñ ó á é í in the edited file. They appear just so: ñ ó á é í. The problem is after executing the program ("ruby myprogram.rb"). Then the result in the console will be this: ± ¾ ß Ú Ã. But the saved file has no problem with representation...



______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
 
P

Pit Capitain

Alfonso said:
Sorry, I didn't expressed me correctly. When I said that if I type ñ ó á
é í in the editor I have this result

± ¾ ß Ú Ã. I didn't mean that I couldn't see ñ ó á é í in the
edited file. They appear just so: ñ ó á é í. The problem is after
executing the program ("ruby myprogram.rb"). Then the result in the
console will be this: ± ¾ ß Ú Ã. But the saved file has no problem with
representation...

Alfonso, this isn't a problem of Ruby, but a problem of the Windows
console. To verify, open Notepad and enter your letters, then save the
file. In the console, do a "type myfile.txt" (replace with the actual
filename). You'll see the same weird characters. The reason is that the
Windows console uses a special character encoding.

If you want to convert the output of your Ruby programs to the character
encoding of the Windows console, look at

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/225185

Regards,
Pit
 
A

Alfonso

Pit Capitain escribió:
Alfonso, this isn't a problem of Ruby, but a problem of the Windows
console. To verify, open Notepad and enter your letters, then save the
file. In the console, do a "type myfile.txt" (replace with the actual
filename). You'll see the same weird characters. The reason is that
the Windows console uses a special character encoding.

If you want to convert the output of your Ruby programs to the
character encoding of the Windows console, look at

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/225185

Regards,
Pit
That's it. It works now, using iconv.

Thank you, Pit and Paul for your answers.


______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,144
Latest member
KetoBaseReviews
Top