如何解决Ruby on Rails转义网址中的变音符号
| 我尝试将一些包含变音符号的参数发布到url(PHP脚本)中。因此,我必须转义参数。但是Ruby给我返回了一个意外的字符串。 PHP:urlencode(\"äöü\");
输出:%E4%F6%FC
和RoR:
URI.escape(\"äöü\")
输出:%C3%A4%C3%B6%C3%BC
要么:
CGI.escape(\"äöü\")
输出:%C3%A4%C3%B6%C3%BC
我正在使用Rails 3.0.5和Ruby 1.9.2,并且我的应用程序已设置为UTF-8。我的错在哪里或应该怎么办?
Thanx安迪
解决方法
欢迎来到String编码的美好世界。如您所述,Ruby是为UTF-8配置的,而您安装的PHP似乎正在尝试使用ISO 8859-1进行编码。
要解决此问题,您需要确保两个脚本都使用相同的编码运行,或者将URL参数从UTF-8明确转换为ISO 8859-1。
,也许您应该使用这样的东西:
CGI.escape(\"äöü\")
如果遇到错误,请尝试在之前输入\'cgi \'。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。