不幸的是,UTF-8编码是URI规范中的“应该”
,它似乎假定原始服务器将以对目的地服务器有意义的方式生成所有URL。
我会考虑几种技术。所有这些都涉及到您自己解析查询字符串(尽管您可能比我更了解设置请求编码是影响查询字符串到参数映射还是仅影响主体)。
首先,检查查询字符串中是否有单个“高字节”:有效的UTF-8序列必须具有两个或多个字节(Wikipedia条目具有有效和无效字节的漂亮表)。
不太可靠的方法是在请求中查找“ Accept-
Charset”标头。我不认为此标头是必需的(没有查看HTTP规范进行验证),而且我知道Firefox至少会发送完整的可接受值列表。选择列表中的第一个值可能会起作用,也可能不会。
最后,您是否对日志进行了任何分析,以查看特定的用户代理是否将始终使用此编码?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)