# How to load code converters?

**URL:** <https://www.ruby-forum.com/t/how-to-load-code-converters/189377>\
**Category:** Ruby\
**Created:** [May 30, 2010, 5:48pm UTC](https://www.ruby-forum.com/t/how-to-load-code-converters/189377 "2010-05-30T17:48:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![o01eg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/e9a140/32.png) [@o01eg](https://www.ruby-forum.com/u/o01eg)\
**Post date:** [May 30, 2010, 5:48pm UTC](https://www.ruby-forum.com/t/how-to-load-code-converters/189377/1 "2010-05-30T17:48:23Z")

</div>

When I try to encode string in program I got  
Encoding::ConverterNotFoundError error “code converter not found (UTF-8  
to KOI8-R)” (and other charsets)  
When I run script with encoding in ruby interpreter it work.  
What I have to call for loading converters?

---

<div class="post-metadata">

**Author:** ![o01eg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/e9a140/32.png) [@o01eg](https://www.ruby-forum.com/u/o01eg)\
**Post date:** [May 30, 2010, 6:23pm UTC](https://www.ruby-forum.com/t/how-to-load-code-converters/189377/2 "2010-05-30T18:23:45Z")

</div>

On 5/30/10, O01eg Oleg [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> When I try to encode string in program I got  
> Encoding::ConverterNotFoundError error “code converter not found (UTF-8  
> to KOI8-R)” (and other charsets)  
> When I run script with encoding in ruby interpreter it work.  
> What I have to call for loading converters?

might be:  
require ‘enc/koi8\_r’

---

<div class="post-metadata">

**Author:** ![o01eg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/e9a140/32.png) [@o01eg](https://www.ruby-forum.com/u/o01eg)\
**Post date:** [May 30, 2010, 6:51pm UTC](https://www.ruby-forum.com/t/how-to-load-code-converters/189377/3 "2010-05-30T18:51:06Z")

</div>

Caleb C. wrote:

> On 5/30/10, O01eg Oleg [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > When I try to encode string in program I got  
> > Encoding::ConverterNotFoundError error “code converter not found (UTF-8  
> > to KOI8-R)” (and other charsets)  
> > When I run script with encoding in ruby interpreter it work.  
> > What I have to call for loading converters?
> 
> might be:  
> require ‘enc/koi8\_r’

Ruby 1.9  
Also, it doesn’t work and I don’t see file for cp866 charset.  
transcoder table from my program:  
(gdb)p \*transcoder\_table  
$3 = {type = 0x7ffff75632c0, num\_bins = 11, entries\_packed = 0,  
num\_entries = 1, bins = 0x704170, head = 0x7077b0, tail = 0x7077b0}

transcoder table from ruby interpreter:  
(gdb) p \*transcoder\_table  
$2 = {type = 0x7ffff7dc32c0, num\_bins = 19, entries\_packed = 0,  
num\_entries = 84, bins = 0x73e190, head = 0x6cc600, tail = 0x741150}

---

<div class="post-metadata">

**Author:** ![o01eg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/e9a140/32.png) [@o01eg](https://www.ruby-forum.com/u/o01eg)\
**Post date:** [May 30, 2010, 7:10pm UTC](https://www.ruby-forum.com/t/how-to-load-code-converters/189377/4 "2010-05-30T19:10:39Z")

</div>

Solved. It has to require “enc/trans/transdb”.

---

<div class="post-metadata">

**Author:** ![o01eg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/e9a140/32.png) [@o01eg](https://www.ruby-forum.com/u/o01eg)\
**Post date:** [May 30, 2010, 7:22pm UTC](https://www.ruby-forum.com/t/how-to-load-code-converters/189377/5 "2010-05-30T19:22:52Z")

</div>

On 5/30/10, O01eg Oleg [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Ruby 1.9

Did you try my suggestion or not?

It might help if you could post the exact ruby version. (what does  
ruby -v output?)

> Also, it doesn’t work and I don’t see file for cp866 charset.

“it doesn’t work” gives me very little information to go on. What  
doesn’t work?

Please post a (hopefully short!) script which demonstrates the problem  
you’re having.

I don’t see any mention of a cp866 charset in ruby sources, so you  
might just be SOL there.

> transcoder table from my program:  
> (gdb)p \*transcoder\_table  
> $3 = {type = 0x7ffff75632c0, num\_bins = 11, entries\_packed = 0,  
> num\_entries = 1, bins = 0x704170, head = 0x7077b0, tail = 0x7077b0}
> 
> transcoder table from ruby interpreter:  
> (gdb) p \*transcoder\_table  
> $2 = {type = 0x7ffff7dc32c0, num\_bins = 19, entries\_packed = 0,  
> num\_entries = 84, bins = 0x73e190, head = 0x6cc600, tail = 0x741150}

Looks like this table gets added to by encoding-related extensions, so  
you might have to require them before it gets the stuff you want in  
it.

---

<div class="post-metadata">

**Author:** ![o01eg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/e9a140/32.png) [@o01eg](https://www.ruby-forum.com/u/o01eg)\
**Post date:** [May 30, 2010, 7:33pm UTC](https://www.ruby-forum.com/t/how-to-load-code-converters/189377/6 "2010-05-30T19:33:06Z")

</div>

Caleb C. wrote:

> On 5/30/10, O01eg Oleg [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Ruby 1.9
> 
> Did you try my suggestion or not?

Yes, but as I say, it doesn’t help me.

> It might help if you could post the exact ruby version. (what does  
> ruby -v output?)

ruby 1.9.3dev (2010-05-24 trunk 27986) [x86\_64-linux]

> > Also, it doesn’t work and I don’t see file for cp866 charset.
> 
> “it doesn’t work” gives me very little information to go on. What  
> doesn’t work?

I got described error when try to encode string from UTF-8 to CP866,  
CP1251 and KOI8-R charset.

> Please post a (hopefully short!) script which demonstrates the problem  
> you’re having.

# encoding: utf-8

puts “Ð¿Ñ€Ð¸Ð²ÐµÑ‚”.encode(Encoding::IBM866)  
puts “Ð¿Ñ€Ð¸Ð²ÐµÑ‚”.encode(Encoding::CP1251)  
puts “Ð¿Ñ€Ð¸Ð²ÐµÑ‚”.encode(Encoding::KOI8\_R)

> > transcoder table from my program:  
> > (gdb)p \*transcoder\_table  
> > $3 = {type = 0x7ffff75632c0, num\_bins = 11, entries\_packed = 0,  
> > num\_entries = 1, bins = 0x704170, head = 0x7077b0, tail = 0x7077b0}
> > 
> > transcoder table from ruby interpreter:  
> > (gdb) p \*transcoder\_table  
> > $2 = {type = 0x7ffff7dc32c0, num\_bins = 19, entries\_packed = 0,  
> > num\_entries = 84, bins = 0x73e190, head = 0x6cc600, tail = 0x741150}
> 
> Looks like this table gets added to by encoding-related extensions, so  
> you might have to require them before it gets the stuff you want in  
> it.  
> Yes, I found this. Table fill by Init\_transdb in “enc/trans/transdb.so”.
