# Change Ruby 1.9 file encoding mid read

**URL:** <https://www.ruby-forum.com/t/change-ruby-1-9-file-encoding-mid-read/175236>\
**Category:** Ruby\
**Created:** [September 10, 2009, 4:38am UTC](https://www.ruby-forum.com/t/change-ruby-1-9-file-encoding-mid-read/175236 "2009-09-10T04:38:46Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![asetzler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ac91a4/32.png) [@asetzler](https://www.ruby-forum.com/u/asetzler)\
**Post date:** [September 10, 2009, 4:38am UTC](https://www.ruby-forum.com/t/change-ruby-1-9-file-encoding-mid-read/175236/1 "2009-09-10T04:38:46Z")

</div>

Is it possible to change a file’s encoding mid read?

Trying do do something along the lines of the following:

```
 file = File.open('testfile.rb', 'r:US-ASCII')
 file.each_line do |line|
   if (file.lineno == 1 || file.lineno == 2) && line =~ /

```

^#.\*coding:\s([\w-]+)/  
file.force\_encoding($1)  
end  
next if line.valid\_encoding?  
puts “bad encoding: [%s:%d]” % [file.path, file.lineno]  
end

-Adam

---

<div class="post-metadata">

**Author:** ![asetzler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ac91a4/32.png) [@asetzler](https://www.ruby-forum.com/u/asetzler)\
**Post date:** [September 10, 2009, 5:15am UTC](https://www.ruby-forum.com/t/change-ruby-1-9-file-encoding-mid-read/175236/2 "2009-09-10T05:15:39Z")

</div>

On Sep 9, 2009, at 9:38 PM, Adam S. wrote:

> Is it possible to change a file’s encoding mid read?

Yes, try the set\_encoding() method.

James Edward G. II
