CGI.escape accepts only ISO-8859-1 input?

Hi,

I’m not able to convert a string to ISO-8859-1.
Could anyone please try to help me out here?

#!/usr/bin/ruby

message = ARGV[0]

This doesn’t seem to work, what am I doing wrong?

Iconv.new(‘ISO-8859-1’, ‘UTF-8’).iconv(message)

encoded_message = CGI.escape(message) rescue nil
puts “Argument #{message} translates to #{encoded_message}\n”

Script stop.

If I set my terminal to UTF-8, I got this output:
Argument input_as-UTF-8_ÆØÅ translates to input_as-UTF-8_
%C3%86%C3%98%C3%85

Terminal set to ISO-8859-1:
Argument input_as-ISO-8859-1_ÆØÅ translates to input_as-ISO-8859-1_
%C6%D8%C5

Any help would be highly appreciated!

Forgot to paste what I have included in the script:

require ‘iconv’
require ‘cgi’


Martin

On 6/27/07, Martin [email protected] wrote:

Iconv.new(‘ISO-8859-1’, ‘UTF-8’).iconv(message)
You’re discarding the return value. Perhaps you mean:

message = Iconv.new(‘ISO-8859-1’, ‘UTF-8’).iconv(message)

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs