Ruby 如何编码为ascii图表(ó;到%F3)

Ruby 如何编码为ascii图表(ó;到%F3),ruby,ascii,encode,iso-8859-1,Ruby,Ascii,Encode,Iso 8859 1,我的应用程序需要将用户重定向到外部帮助页,并将客户端名称作为参数传递,但此外部帮助页使用不同的编码 我原来的字符串是 "Diagnósticos da América" 页面需要一个字符串,如 "Diagn%F3sticos%20da%20Am%E9rica" 我需要: "Diagnósticos da América" => "Diagn%F3sticos%20da%20Am%E9rica" 我正在irb中尝试: "Diagnósticos da América".encode("

我的应用程序需要将用户重定向到外部帮助页,并将客户端名称作为参数传递,但此外部帮助页使用不同的编码

我原来的字符串是

"Diagnósticos da América"
页面需要一个字符串,如

"Diagn%F3sticos%20da%20Am%E9rica"
我需要:

"Diagnósticos da América" => "Diagn%F3sticos%20da%20Am%E9rica"
我正在irb中尝试:

"Diagnósticos da América".encode("ISO-8859-1") => "Diagn\xF3sticos da Am\xE9rica"
"Diagnósticos da América".encode("UTF-8", "Windows-1252") => "Diagnósticos da América"
"Diagnósticos da América".encode("Windows-1252") => "Diagn\xF3sticos da Am\xE9rica"
有人有想法吗?

我用这个:

URI.encode("Diagnósticos da América".encode('iso-8859-1'))
我得到了预期的结果:

"Diagn%F3sticos%20da%20Am%E9rica"

可能重复欢迎使用堆栈溢出。为了便于阅读,请花些时间格式化您的问题。因此,为问题、答案中的文本提供格式选项,并在注释中提供有限的格式。这些有助于使文本更具可读性。此外,参考书也是如此,而不是讨论,所以我们不使用问候语、告别语(“谢谢”)或签名。我建议你阅读,因为这本书中有很多关于提问的好信息。回答可能也会有帮助。回答时,最好提供示例输出,并解释为什么你的解决方案是解决方案。抛开代码有一点帮助,但解释/教学提供了真正的长期答案,并帮助那些在未来寻找类似解决方案的人。此外,这是否根据需要提供十六进制编码的空间?