# Help getting around iconv on a PC

**URL:** <https://www.ruby-forum.com/t/help-getting-around-iconv-on-a-pc/49265>\
**Category:** Ruby\
**Created:** [December 1, 2005, 10:35pm UTC](https://www.ruby-forum.com/t/help-getting-around-iconv-on-a-pc/49265 "2005-12-01T22:35:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![schneida](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b77776/32.png) [@schneida](https://www.ruby-forum.com/u/schneida)\
**Post date:** [December 1, 2005, 10:35pm UTC](https://www.ruby-forum.com/t/help-getting-around-iconv-on-a-pc/49265/1 "2005-12-01T22:35:23Z")

</div>

I’ve just started using Ruby again, and maybe it’s because it’s been  
awhile since I’ve used it, but I’ve gotten stuck. I want to use the  
bloglines Webservice API. So, I downloaded and installed it as well as  
simple-xml, which it uses. I run a simple test:

require ‘webservice/bloglines’  
print “done!\n”

Ruby chokes, saying:

:/ruby/lib/ruby/site\_ruby/1.8/rubygems/loadpath\_manager.rb:5:in  
`require__': No such file to load -- iconv (LoadError) from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in`require’  
from c:/ruby/lib/ruby/site\_ruby/1.8/webservice/parser.rb:4  
from c:/ruby/lib/ruby/site\_ruby/1.8/rubygems/loadpath\_manager.rb:5:in  
`require__' from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in`require’  
from c:/ruby/lib/ruby/site\_ruby/1.8/webservice/restapi.rb:7  
from c:/ruby/lib/ruby/site\_ruby/1.8/rubygems/loadpath\_manager.rb:5:in  
`require__' from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in`require’  
from c:/ruby/lib/ruby/site\_ruby/1.8/webservice/bloglines.rb:3  
from c:/ruby/lib/ruby/site\_ruby/1.8/rubygems/loadpath\_manager.rb:5:in  
`require__' from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in`require’  
from test.rbw:1

As far as I can tell from looking around the web, iconv is a Unix  
library, and I’m on a PC running WinXP. How do I work around this? To  
figure out what the parser is using iconv for, I’ve included the code  
below. Any help would be greatly appreciated.

## Thanks, Anders Schneiderman SEIU International

# $Id: parser.rb,v 1.2 2004/09/29 04:19:10 date Exp $

require ‘xmlsimple’  
require ‘iconv’

# handling invalid character

# Replace from invalid character to `?’

# (instead of numerical character reference).

# Because REXML convert numerical character reference at parsing time.

class Iconv  
def self.fix\_malformed\_characters(str)  
iconv = Iconv.new(“UTF-8”, “UTF-8”)  
out = “”  
begin  
out \<\< iconv.iconv(str)  
rescue Iconv::IllegalSequence =\> e  
out \<\< e.success  
ch, str = e.failed.split(//n, 2)  
out \<\< if respond\_to?(:unknown\_unicode\_handler)  
unknown\_unicode\_handler(ch)  
else  
“?”  
end  
retry  
end  
return out  
end  
end

module WebService

```
class Parser
	def initialize
	end

	# for REXML
	def fix_encoding(xml_source)
		 xml_source.sub(/encoding="utf-8"\?>/i, 'encoding="UTF-8"?>')
	end

	def parse(xml_source)
		xml_source = fix_encoding(xml_source)
		xml_source = Iconv.fix_malformed_characters(xml_source)
		XmlSimple.xml_in(xml_source,
			{ 'ForceArray' => false, 'KeepRoot' => true }
		)
	end
end

```

end

---

<div class="post-metadata">

**Author:** ![schneida](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b77776/32.png) [@schneida](https://www.ruby-forum.com/u/schneida)\
**Post date:** [December 1, 2005, 10:51pm UTC](https://www.ruby-forum.com/t/help-getting-around-iconv-on-a-pc/49265/2 "2005-12-01T22:51:36Z")

</div>

Anders wrote:

> `require\_\_': No such file to load – iconv (LoadError)  
> …

I’ve put together a package to install iconv on a One-Click Ruby box  
here:  
[http://dave.burt.id.au/ruby/iconv.zip](http://dave.burt.id.au/ruby/iconv.zip)

Cheers,  
Dave

---

<div class="post-metadata">

**Author:** ![schneida](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b77776/32.png) [@schneida](https://www.ruby-forum.com/u/schneida)\
**Post date:** [December 1, 2005, 11:32pm UTC](https://www.ruby-forum.com/t/help-getting-around-iconv-on-a-pc/49265/3 "2005-12-01T23:32:09Z")

</div>

Thanks, Dave! That did the trick.

Anders

---

<div class="post-metadata">

**Author:** ![schneida](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b77776/32.png) [@schneida](https://www.ruby-forum.com/u/schneida)\
**Post date:** [December 1, 2005, 10:59pm UTC](https://www.ruby-forum.com/t/help-getting-around-iconv-on-a-pc/49265/4 "2005-12-01T22:59:43Z")

</div>

Hi Anders, I haven’t used iconv on windows with Ruby, but I found this  
googling…

[http://groups.google.com/group/comp.lang.ruby/browse\_frm/thread/58df01a5bd0ab5b8/330841516d29bc54?lnk=st&q=ruby+iconv+windows+install&rnum=6&hl=en#330841516d29bc54](http://groups.google.com/group/comp.lang.ruby/browse_frm/thread/58df01a5bd0ab5b8/330841516d29bc54?lnk=st&q=ruby+iconv+windows+install&rnum=6&hl=en#330841516d29bc54)
