# Default encoding in ruby 1.9

**URL:** <https://www.ruby-forum.com/t/default-encoding-in-ruby-1-9/170599>\
**Category:** Ruby\
**Created:** [June 19, 2009, 3:50pm UTC](https://www.ruby-forum.com/t/default-encoding-in-ruby-1-9/170599 "2009-06-19T15:50:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![danmcb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/13edae/32.png) [@danmcb](https://www.ruby-forum.com/u/danmcb)\
**Post date:** [June 19, 2009, 3:50pm UTC](https://www.ruby-forum.com/t/default-encoding-in-ruby-1-9/170599/1 "2009-06-19T15:50:52Z")

</div>

Hi,

I have a lot of problems with string encodings in ruby 1.9. I always get  
EncodingErrors because ruby mixes the default encodings. I have set LANG  
and LC\_ALL to a utf locale.

## test.rb

def encoding\_sucks\_hard(string)  
"hello " + string  
end

## And then

irb(main):001:0\> require ‘test’  
=\> true  
irb(main):002:0\> ‘test’.encoding  
=\> #Encoding:UTF-8  
irb(main):003:0\> encoding\_sucks\_hard(‘test’).encoding  
=\> #Encoding:US-ASCII  
irb(main):004:0\>

How can I set the default encoding?

Daniel

---

<div class="post-metadata">

**Author:** ![danmcb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/13edae/32.png) [@danmcb](https://www.ruby-forum.com/u/danmcb)\
**Post date:** [June 19, 2009, 6:08pm UTC](https://www.ruby-forum.com/t/default-encoding-in-ruby-1-9/170599/2 "2009-06-19T18:08:52Z")

</div>

On Friday 19 June 2009 06:50:19 am Daniel M. wrote:

> "hello " + string  
> =\> #Encoding:US-ASCII  
> irb(main):004:0\>
> 
> How can I set the default encoding?
> 
> Daniel

Perhaps use the magic comment?

$ irb  
irb(main):001:0\> a = “foobar”  
=\> “foobar”  
irb(main):002:0\> a.encoding  
=\> #Encoding:UTF-8  
irb(main):003:0\>

$ irb  
irb(main):001:0\> #encoding: ASCII-8BIT  
irb(main):002:0\* a = “foobar”  
=\> “foobar”  
irb(main):003:0\> a.encoding  
=\> #Encoding:ASCII-8BIT  
irb(main):004:0\> quit

---

<div class="post-metadata">

**Author:** ![danmcb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/13edae/32.png) [@danmcb](https://www.ruby-forum.com/u/danmcb)\
**Post date:** [June 19, 2009, 10:44pm UTC](https://www.ruby-forum.com/t/default-encoding-in-ruby-1-9/170599/3 "2009-06-19T22:44:44Z")

</div>

> > 
> 
> =\> #Encoding:UTF-8  
> irb(main):003:0\>
> 
> $ irb  
> irb(main):001:0\> #encoding: ASCII-8BIT  
> irb(main):002:0\* a = “foobar”  
> =\> “foobar”  
> irb(main):003:0\> a.encoding  
> =\> #Encoding:ASCII-8BIT  
> irb(main):004:0\> quit

But what is with libraries? I can’t set their magic comments. The string  
literals in the library are therefore incompatible to my string  
literals.

Daniel
