iconv "\n" (Iconv::InvalidCharacter)

  • Thread starter Krzysztof Cierpisz
  • Start date
K

Krzysztof Cierpisz

I have following tab delimited ucs-2le input file ucs2le_sample.txt:
Job Title Second case
"EVP; COO, DIGITAL TV" "ESPTA TÉCNICO ""B"""

there are 2 columns (Job Title, Second case)

internally in Ruby:

irb(main):001:0> File.open("ucs2le_sample.txt","r").each do |line|
irb(main):002:1* p line
irb(main):003:1> end
"\377\376J\000o\000b\000 \000T\000i\000t\000l\000e\000\t\000S\000e\000c
\000o\000n\000d\000 \000c\000a\000s\000e\000\r\000\n"
"\000\"\000E\000V\000P\000;\000 \000C\000O\000O\000,\000 \000D\000I
\000G\000I\000T\000A\000L\000 \000T\000V\000\"\000\t\000\"\000E\000S
\000P\000T\000A\000 \000T\000\311\000C\000N\000I\000C\000O\000
\000\"\000\"\000B\000\"\000\"\000\"\000\r\000\n"
"\000"
=> #<File:ucs2le_sample.txt>

I am trying to convert this file into UTF8 encoding with following
conv.rb script:
require 'iconv'

File.open("utf8.txt","wb") do |f|
File.open("ucs2le_sample.txt","rb").each do |line|
ic = Iconv.new("UTF-8","UCS-2LE")
f.write(ic.iconv(line))
end
end

when I run it I end up with error message:

chris@chris-ub:~/staging/ruby/csv2db$ ruby conv.rb
conv.rb:6:in `iconv': "\n" (Iconv::InvalidCharacter)
from conv.rb:6
from conv.rb:4:in `each'
from conv.rb:4
from conv.rb:3:in `open'
from conv.rb:3

How can I modify the little script to convert the ucs-2le file into
utf-8?

thanks,
chris
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top