搜索中的撇号(智能报价)会引发Apache 400 Bad Request

时间:2010-10-05 15:06:31

标签: html apache url apostrophe

我在我的网络应用程序中有一个搜索表单,当您使用撇号(智能引用,即 而不是 {{1}进行搜索时会抛出Apache 400 Bad Request错误}} )。当有人从Microsoft Word复制和粘贴(自动将刻度线转换为智能引号)时会发生这种情况。

search box

表单会导致GET请求,该请求会将搜索字符串放入URL中。即使我对字符串进行编码,也会导致此错误。我该怎么做才能让它发挥作用?

'

1 个答案:

答案 0 :(得分:1)

使用encodeURIComponent代替escape

var search_field = '/query/' + encodeURIComponent(query);

escape不是标准函数,不会根据Percent-encoding as specified by RFC 3986对值进行编码。例如编码为"%u2019