# Annoying: cannot write ' user=" IÃ±aki ' in a Ruby1.9 script

**URL:** <https://www.ruby-forum.com/t/annoying-cannot-write-user-ia-aki-in-a-ruby1-9-script/174776>\
**Category:** Ruby\
**Created:** [September 2, 2009, 1:14am UTC](https://www.ruby-forum.com/t/annoying-cannot-write-user-ia-aki-in-a-ruby1-9-script/174776 "2009-09-02T01:14:13Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [September 2, 2009, 1:14am UTC](https://www.ruby-forum.com/t/annoying-cannot-write-user-ia-aki-in-a-ruby1-9-script/174776/1 "2009-09-02T01:14:13Z")

</div>

Hi, I’m really annoyed, please try this:

Open a file (in a UTF-8 system as any modern Linux) and write:

## script.rb

## user = “IÃ±aki” puts user

Now run:

~# ruby1.8 script.rb  
=\> “IÃ±aki”

~# ruby1.9 script.rb  
=\> invalid multibyte char (US-ASCII)

I’m using the last 1.9 version: ruby-1.9.1-p129

How can it be possible? Of course, the file “script.rb” is encoded in  
UTF-8,  
sure.

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [September 2, 2009, 1:16am UTC](https://www.ruby-forum.com/t/annoying-cannot-write-user-ia-aki-in-a-ruby1-9-script/174776/2 "2009-09-02T01:16:34Z")

</div>

El MiÃ©rcoles, 2 de Septiembre de 2009, IÃ±aki Baz C. escribiÃ³:

> I’m using the last 1.9 version: ruby-1.9.1-p129

That is not the last, but it also occurs with 1.9.1-p243.

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [September 2, 2009, 1:45am UTC](https://www.ruby-forum.com/t/annoying-cannot-write-user-ia-aki-in-a-ruby1-9-script/174776/3 "2009-09-02T01:45:51Z")

</div>

On Sep 1, 4:15 pm, Iñaki Baz C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> El Miércoles, 2 de Septiembre de 2009, Iñaki Baz C. escribió:
> 
> > I’m using the last 1.9 version: ruby-1.9.1-p129
> 
> That is not the last, but it also occurs with 1.9.1-p243.

I confirm this script also fails with 1.9.1-p243 on Mac OS X 10.5.8.

That’s pretty terrible. Can anyone explain what the problem is?

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [September 2, 2009, 2:16am UTC](https://www.ruby-forum.com/t/annoying-cannot-write-user-ia-aki-in-a-ruby1-9-script/174776/4 "2009-09-02T02:16:18Z")

</div>

El Miércoles, 2 de Septiembre de 2009, removed\_email\_address@domain.invalid  
escribió:\> \>

> > ~# ruby1.9 script.rb  
> > =\> invalid multibyte char (US-ASCII)
> > 
> > How can it be possible? The file “script.rb” is encoded in UTF-8
> 
> How about:
> 
> # encoding: utf-8
> 
> user = “Iñaki”  
> puts user

Yes, that works… but I cannot figure why is this required. I use a  
system  
in UTF-8 so the file is encoded in UTF-8. Also Ruby1.9 seems to work in  
UTF-8  
by default:

“abc”.encoding  
=\> #Encoding:UTF-8

so…?

Thanks for your reply.

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [September 2, 2009, 2:04am UTC](https://www.ruby-forum.com/t/annoying-cannot-write-user-ia-aki-in-a-ruby1-9-script/174776/5 "2009-09-02T02:04:00Z")

</div>

On Tue, Sep 1, 2009 at 7:13 PM, Iñaki Baz C.[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ~# ruby1.9 script.rb  
> =\> invalid multibyte char (US-ASCII)
> 
> How can it be possible? The file “script.rb” is encoded in UTF-8

How about:

# encoding: utf-8

user = “Iñaki”  
puts user

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [September 2, 2009, 10:37am UTC](https://www.ruby-forum.com/t/annoying-cannot-write-user-ia-aki-in-a-ruby1-9-script/174776/6 "2009-09-02T10:37:26Z")

</div>

2009/9/2 John W Higgins [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > 
> 
> See  
> [http://blog.grayproductions.net/articles/ruby\_19s\_three\_default\_encodings](http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings)

Thanks:

“The first is the main rule of source Encodings: source files receive  
a US-ASCII Encoding, unless you say otherwise”

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [September 2, 2009, 3:47am UTC](https://www.ruby-forum.com/t/annoying-cannot-write-user-ia-aki-in-a-ruby1-9-script/174776/7 "2009-09-02T03:47:38Z")

</div>

> 

See  
[http://blog.grayproductions.net/articles/ruby\_19s\_three\_default\_encodings](http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings)
