# Encoding::InvalidByteSequenceError: character U+7453 can't be encoded in IBM437

**URL:** <https://www.ruby-forum.com/t/encoding-character-u-7453-cant-be-encoded-in-ibm437/205583>\
**Category:** IronRuby\
**Created:** [April 9, 2011, 5:45am UTC](https://www.ruby-forum.com/t/encoding-character-u-7453-cant-be-encoded-in-ibm437/205583 "2011-04-09T05:45:26Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [April 9, 2011, 5:45am UTC](https://www.ruby-forum.com/t/encoding-character-u-7453-cant-be-encoded-in-ibm437/205583/1 "2011-04-09T05:45:26Z")

</div>

Hello,

I’m getting the following error while running one of the examples  
(Enumerate  
Top Level Windows [https://github.com/ffi/ffi/wiki/Windows-Examples](https://github.com/ffi/ffi/wiki/Windows-Examples))  
from  
the FFI wiki:

_Encoding::InvalidByteSequenceError: character U+7453 can’t be encoded  
in  
IBM437_

- 

```
   from (irb):26:in `puts'*

```

The example works fine in MRI 1.9.2, so I’m curious if this might be a  
bug,  
or if I’m screwing something up in my FFI impl. Official FFI uses  
\*str\_new[http://www.ruby-doc.org/doxygen/1.8.4/string\_8c-source.html#l00078](http://www.ruby-doc.org/doxygen/1.8.4/string_8c-source.html#l00078)  
_, which in turn performs a simple memcopy given a char_, which is  
more  
or less what I’m doing to construct my string…

At any rate, the example, which features callbacks, makes it this far  
(which  
is exciting):

_[001] Found ‘’_  
_[002] Found ‘’_  
_[003] Found ‘’_  
_[004] Found ‘’_  
_[005] Found ‘’_  
_[006] Found ‘’_  
_[007] Found ‘’_  
_[008] Found ‘’_  
_Encoding::InvalidByteSequenceError: character U+7453 can’t be encoded  
in  
IBM437_

- 

```
   from (irb):26:in `puts'*

```

-Charles

---

<div class="post-metadata">

**Author:** ![valdar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/b5a626/32.png) [@valdar](https://www.ruby-forum.com/u/valdar)\
**Post date:** [April 10, 2011, 2:19am UTC](https://www.ruby-forum.com/t/encoding-character-u-7453-cant-be-encoded-in-ibm437/205583/2 "2011-04-10T02:19:27Z")

</div>

On second thought (and with a little more rest), I’m pretty positive  
this my  
problem :).

-Charles

On Fri, Apr 8, 2011 at 10:42 PM, Charles S. \<

---

<div class="post-metadata">

**Author:** ![valdar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/b5a626/32.png) [@valdar](https://www.ruby-forum.com/u/valdar)\
**Post date:** [April 10, 2011, 7:50am UTC](https://www.ruby-forum.com/t/encoding-character-u-7453-cant-be-encoded-in-ibm437/205583/3 "2011-04-10T07:50:08Z")

</div>

Nope - must be a bug in IronRuby:

_MRI v1.9.2:_  
\*  
irb(main):001:0\> str = “%s” % “\u00c2”  
=\> “\u00C2”  
irb(main):002:0\> str.encoding  
=\> #Encoding:UTF-8  
irb(main):003:0\> puts str  
├é  
\*

_IronRuby v1.1.3:_  
\*  
irb(main):001:0\> str = “%s” % “\u00c2”  
=\> “\xC2”  
irb(main):002:0\> str.encoding  
=\> #Encoding:IBM437  
irb(main):003:0\> puts str  
Encoding::InvalidByteSequenceError: character U+00C2 can’t be encoded in  
IBM437  
from (irb):3:in `puts’  
from (irb):3  
from C:/IronRuby/bin/irb:13  
\*

_String#%_ seems to handle encoding differently between the two Rubies.  
If  
I can figure it out, I’ll send a pull request.

Cheers,  
-Charles

On Sat, Apr 9, 2011 at 7:18 PM, Charles S.  
\<removed\_email\_address@domain.invalid
