[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

encoding in windows (newby question

Alfonso

11/16/2006 10:32:00 PM

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...

7 Answers

Paul Lutus

11/16/2006 11:17:00 PM

0

Alfonso wrote:

> 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).

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

> 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?

The answer depends on where this happened, using what output device or
editor, etc, etc..

--
Paul Lutus
http://www.ara...

Alfonso

11/17/2006 12:06:00 AM

0

Paul Lutus escribió:
> Alfonso wrote:
>
>
>> 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).
>>
>
> Define "not properly set." Leave nothing to the imagination. What did you
> expect, and what did you get, under what circumstances?
>
>
>> 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?
>>
>
> 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...

Paul Lutus

11/17/2006 12:17:00 AM

0

Alfonso wrote:

/ ...

>> 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: ± ¾ � � Ý

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.

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

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.

--
Paul Lutus
http://www.ara...

Alfonso

11/17/2006 12:34:00 AM

0

Paul Lutus escribió:
> Alfonso wrote:
>
> / ...
>
>
>>> 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: ± ¾ � � Ý
>>
>
> 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.
>
>
>> As opposite, in linux, the result is allways ñ ó á é í.
>>
>
> 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...

Paul Lutus

11/17/2006 5:22:00 AM

0

Alfonso wrote:

/ ...

> 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...

Then the problem is most likely the console font. Same remedy -- change
fonts. Nearly all these sorts of problems are caused by using the wrong
font.

But if you want to distinguish between font issues and others, capture the
output of your program and load it into your editor, to confirm that the
characters appear correctly there.

--
Paul Lutus
http://www.ara...

Pit Capitain

11/17/2006 8:20:00 AM

0

Alfonso schrieb:
> 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-t...

Regards,
Pit

Alfonso

11/17/2006 8:48:00 AM

0

Pit Capitain escribió:
> Alfonso schrieb:
>> 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-t...
>
> 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...