Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails无效的查询参数:非UTF-8值_Ruby On Rails_Ruby_Utf 8 - Fatal编程技术网

Ruby on rails Rails无效的查询参数:非UTF-8值

Ruby on rails Rails无效的查询参数:非UTF-8值,ruby-on-rails,ruby,utf-8,Ruby On Rails,Ruby,Utf 8,我用包含口音“Réseau Social”的跟踪参数编码了一个URL 出现异常:“无效的查询参数:非UTF-8值: R�肖恩社交酒店 “/var/www/mysite prod/shared/bundle/ruby/2.3.0/gems/actionpack-5.0.0.rc1/lib/action\u dispatch/request/utils.rb:26:in `检查参数编码“” 重音被编码为R%E9seau+Social,Rails不应该正确处理它吗?您可以尝试一下utf8 cleane

我用包含口音“Réseau Social”的跟踪参数编码了一个URL

出现异常:“无效的查询参数:非UTF-8值: R�肖恩社交酒店 “/var/www/mysite prod/shared/bundle/ruby/2.3.0/gems/actionpack-5.0.0.rc1/lib/action\u dispatch/request/utils.rb:26:in `检查参数编码“”


重音被编码为
R%E9seau+Social
,Rails不应该正确处理它吗?

您可以尝试一下
utf8 cleaner
gem。我不明白它为什么无效(é是有效的utf8字符)。一般来说,当您在Rails表单中输入文本字段时,完全可以编写重音符号,对吗?我不想像gem那样删除角色……这是一个复杂的话题。当您查看表单中的响应时,您会注意到rails总是在表单中包含一个utf字符作为隐藏字段,以确保浏览器以uft-8编码表单的形式发送响应。在查询字符串中,它更复杂。我不知道影响编码的所有组件,也不知道您的Web服务器“认为”它有什么编码。您是如何编码这个字符的?你用什么来编码它?你可以在我的代码摘录中看到:
utm\u medium=R%E9seau
。我使用了UTM链接生成器,不确定引擎盖下发生了什么。
https://www.example.com/?utm_source=twitter&utm_medium=R%E9seau+Social&utm_campaign=test