我正在尝试解决外来字符的问题并将其与数据库值匹配。
我已经设法从数据库查询中获得了我想要的匹配,但现在我遇到了一个不同的问题,根本不知道为什么会发生这种情况。
在整个站点的所有页面上都有一个标题包含,其中包含一个用于搜索站点的输入字段。
<form action="/search.php" method="get"><input name="q" type="text" />etc...
我的问题查询字符串是这个grønhøj。当我在主页上的输入表单中输入这个字符串时,我会被带到带有如下网址的搜索页面:search.php?q=gr%F8nh%F8j目前不起作用。但是,如果我在搜索页面上时将相同的搜索查询重新输入到标题输入中,则页面重新加载,除了 url 现在看起来像这样:search.php?q=grønhøj确实有效。
如果生成的 url 始终保持不变,那么我不会有问题,但由于它不一致,我不知道如何为查询字符串的两个可能版本提供解决方案。
所以我想我有2个问题。
1) 为什么在使用完全相同的表单提交字符串时,url 不会保持不变?2) 如何操作 url 的两个版本(或停止导致不同 url 的不同页面),以便无论我得到哪个版本的 url,生成的字符串都是一致的?
更新:我在这里找到了一个检测 utf8 编码的函数,它允许我根据我得到的 url 版本来切换我处理 url 字符串的方式,所以现在我的主要问题已经解决。
然而,我仍然想了解为什么我从不同的页面获得 2 个不同的 url 变量,即使表单是整个站点的一致包含。有任何想法吗?