我有一个搜索脚本,用户在其中输入一些使用 GET 发送的查询词。如果用户输入包含特殊字符äpple
,例如 url 变为search.php?q=äpple
并且一切正常。但是,如果用户重新运行此 url search.php?q=äpple
,浏览器地址字段search.php?q=%E4pple
将显示并且查询失败。我应该如何解码该字符串。urldecode
不工作。我认为这正是它的目的,所以还有其他问题吗?或者我可以尝试哪些其他功能?
更新如果我在它上使用 utf8_encodesearch.php?q=%E4pple
它会产生正确的ä
字符,但如果 url 中的字符串是由 GET 发送的,因此已经正确(并且工作)ä
,utf8_encode 会把它弄乱。
我想我可以做一个条件是我在做某事之前检查编码,但这不是更简单的方法吗?