F
Francesco Malvezzi
I'm finding a weird problem with iconv. I would like to convert from
UTF-8 West European strings (like 'pan carrè') to the ASCII//TRANSLIT ->
'pan carre'
my system is: Linux bacedifo 2.6.18-6-xen-686 #1 SMP Fri Dec 12 20:13:49
UTC 2008 i686 GNU/Linux
with
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
my script is:
"
require 'iconv'
$KCODE = 'UTF-8'
require 'jcode'
resume = 'résumé'
puts resume.inspect
puts "Internal iconv: #{Iconv.conv("ASCII//TRANSLIT", "UTF8", resume)}"
puts "System iconv: #{%x{echo "#{resume}" | iconv -f utf-8 -t
ascii//translit}.strip}"
"
Output is:
francesco@bacedifo:~/tmp$ ruby ruby-talk.rb
"résumé"
Internal iconv: r?sum? # wrong: should be: resume
System iconv: resume # correct
Some more weirdness: with irb it just works:
francesco@bacedifo:~/tmp$ irb -r iconv
irb(main):001:0> resume = 'résumé'
=> "r\303\251sum\303\251"
irb(main):002:0> Iconv.conv("ASCII//TRANSLIT", "UTF8", resume)
=> "resume"
With jruby fails in a different way:
francesco@bacedifo:~/tmp$ jruby ruby-talk.rb
"résumé"
Internal iconv: résumé # wrong
System iconv: rA(C)sumA(C) # wrong
Is it a emacs issue? Maybe, but vim does the same. It's more likely I'm
doing something wrong. Can you help me?
Thank you!
Francesco
UTF-8 West European strings (like 'pan carrè') to the ASCII//TRANSLIT ->
'pan carre'
my system is: Linux bacedifo 2.6.18-6-xen-686 #1 SMP Fri Dec 12 20:13:49
UTC 2008 i686 GNU/Linux
with
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
my script is:
"
require 'iconv'
$KCODE = 'UTF-8'
require 'jcode'
resume = 'résumé'
puts resume.inspect
puts "Internal iconv: #{Iconv.conv("ASCII//TRANSLIT", "UTF8", resume)}"
puts "System iconv: #{%x{echo "#{resume}" | iconv -f utf-8 -t
ascii//translit}.strip}"
"
Output is:
francesco@bacedifo:~/tmp$ ruby ruby-talk.rb
"résumé"
Internal iconv: r?sum? # wrong: should be: resume
System iconv: resume # correct
Some more weirdness: with irb it just works:
francesco@bacedifo:~/tmp$ irb -r iconv
irb(main):001:0> resume = 'résumé'
=> "r\303\251sum\303\251"
irb(main):002:0> Iconv.conv("ASCII//TRANSLIT", "UTF8", resume)
=> "resume"
With jruby fails in a different way:
francesco@bacedifo:~/tmp$ jruby ruby-talk.rb
"résumé"
Internal iconv: résumé # wrong
System iconv: rA(C)sumA(C) # wrong
Is it a emacs issue? Maybe, but vim does the same. It's more likely I'm
doing something wrong. Can you help me?
Thank you!
Francesco