I am making my first steps on Ruby on Rails. I have a very simple
question. When I am trying to install rails (as well as every gem) I am
getting this error:
ERROR: While executing gem … (Encoding::ConverterNotFoundError)
code converter not found (UTF-16LE to IBM737)
My Operating System is Microsoft Windows XP and I have installed Ruby
1.9.2. With previous releases of Ruby (for example 1.8.7) everything is
fine and gems installed successfully. But in version 1.9.2, when i try
“gem install GEMNAME” in command prompt I get this error.
Please be more specific. Which exact version of ruby 1.9.2 did you
install, and where did you get it from? For example was it a Cygwin
package, the rubyinstaller package, some other pre-compiled package, or
did you build it yourself from source? In the latter case, what compiler
did you use, and what options did you configure it with?
I am making my first steps on Ruby on Rails. I have a very simple
question. When I am trying to install rails (as well as every gem) I am
getting this error:
ERROR: While executing gem … (Encoding::ConverterNotFoundError)
code converter not found (UTF-16LE to IBM737)
Why is your terminal IBM737?
Can you change it with chcp to either 850 or 1251/1252?
It seems that IBM737 do not have a Unicode converter match from/to
UTF.
I am making my first steps on Ruby on Rails. I have a very simple
question. When I am trying to install rails (as well as every gem) I am
getting this error:
ERROR: �While executing gem … (Encoding::ConverterNotFoundError)
� � code converter not found (UTF-16LE to IBM737)
Why is your terminal IBM737?
Can you change it with chcp to either 850 or 1251/1252?
It seems that IBM737 do not have a Unicode converter match from/to
UTF.
AFAIK, with 1.8, he would just get unreadable characters in his
terminal
Given that the error messages from ruby are themselves readable, it’s a
fair bet that IBM737 is at least ASCII-compatible.
I’m pretty sure that rubygems under 1.8 would just have worked. After
all, rubygems is a system utility. Its job is to fetch files and install
them in the right places. “Encodings” don’t help it to do that job, but
they do make programs crash.
P.S.: Why gem is trying to convert from UTF-16LE ?
I wondered that too.
But more importantly, why is the locale’s default_encoding significant?
Is it reading files from the filesystem without specifying the locale
(or binary mode)? If so that’s a “bug” in rubygems, but it’s the
language which makes these bugs occur.
(2) It is so complex that it is virtually impossible to build complete
test coverage to prevent this sort of problem happening.
Fortunately, there is an easy solution: use ruby 1.8.
Well, that is rather pessimist.
AFAIK, with 1.8, he would just get unreadable characters in his
terminal, and would have to figure himself what to do to resolve it.
With 1.9, at least the error is shown and says the term’s encoding is
not compatible.
But I agree, this kind of error just running gem is unexpected and
non user-friendly.
But he would anyway have to change one day to use other characters
than pure ASCII in his term.
P.S.: Why gem is trying to convert from UTF-16LE ?
AFAIK, with 1.8, he would just get unreadable characters in his
terminal
Given that the error messages from ruby are themselves readable, it’s a
fair bet that IBM737 is at least ASCII-compatible.
This is what Roger P. asked on Ruby core about IBM737
P.S.: Why gem is trying to convert from UTF-16LE ?
I wondered that too.
But more importantly, why is the locale’s default_encoding significant?
Is it reading files from the filesystem without specifying the locale
(or binary mode)? If so that’s a “bug” in rubygems, but it’s the
language which makes these bugs occur.
Excellent question, seems to me that is trying to parse some gemspec
contents (my guess)
Complete output of “gem install xxx --debug -V” will be great to have
when chcp is set to 737
AFAIK, with 1.8, he would just get unreadable characters in his
terminal
Given that the error messages from ruby are themselves readable, it’s a
fair bet that IBM737 is at least ASCII-compatible.
This is what Roger P. asked on Ruby core about IBM737
P.S.: Why gem is trying to convert from UTF-16LE ?
I wondered that too.
But more importantly, why is the locale’s default_encoding significant?
Is it reading files from the filesystem without specifying the locale
(or binary mode)? If so that’s a “bug” in rubygems, but it’s the
language which makes these bugs occur.
Excellent question, seems to me that is trying to parse some gemspec
contents (my guess)
Complete output of “gem install xxx --debug -V” will be great to have
when chcp is set to 737
Pardon if this considered to be high-jacking –
I installed ruby-1.9.2p0 using ruby installer. This is the responses I
get that was asked to the op.