我有UTF-8编码的文章标题,我宁愿显示蛞蝓使用适当的字符。 一个例子是亚马逊日本的网址在这里 。
怎么能任意字符串转换为一个安全的URL蛞蝓像这样,用Ruby(或者Rails)?
(有一些相关的 PHP的职位,但没有什么我能找到的红宝石。)
我有UTF-8编码的文章标题,我宁愿显示蛞蝓使用适当的字符。 一个例子是亚马逊日本的网址在这里 。
怎么能任意字符串转换为一个安全的URL蛞蝓像这样,用Ruby(或者Rails)?
(有一些相关的 PHP的职位,但没有什么我能找到的红宝石。)
从阅读这里好像一个解决方案是这样的:
require 'open-uri'
str = "\x12\x34\x56\x78\x9a\xbc\xde\xf1\x23\x45\x67\x89\xab\xcd\xef\x12\x34\x56\x78\x9a".force_encoding('ASCII-8BIT')
puts URI::encode(str)
这里是开放式的URI的文档 。 而这里是UTF-8编码的URL方案的一些信息 。
编辑:已经研究过这多我注意到编码仅仅是一个别名URI.escape
这是记录在这里 。 例如从下面的文档采取:
require 'uri'
enc_uri = URI.escape("http://example.com/?a=\11\15")
p enc_uri
# => "http://example.com/?a=%09%0D"
p URI.unescape(enc_uri)
# => "http://example.com/?a=\t\r"
p URI.escape("@?@!", "!?")
# => "@%3F@%21"
让我知道,如果这是你要找的人?
编辑#2:我很感兴趣,并一直在寻找多一点, 根据意见 Ryan Bates的上friendlyid railscasts也似乎有中国特色的工作。