我有一个旧网站,其中 URL 中允许使用撇号。这并不理想,但它是它的设置方式,并且在我转移到新服务器之前它运行良好。页面标题基本上是 URL 中的“slug”,然后用于查找数据库。但是,在我的实时服务器上,当标题包含撇号(在 URL 中显示为撇号)时,撇号在尝试处理它并进行数据库查找时变成一个问号。
我还有一个登台服务器-据我所知,登台服务器和live都运行centOS和php在两者上的配置相同。这个撇号问题不会发生在舞台上,但会发生在现场。任何想法可能是什么原因?一些字符编码问题?非常感谢
编辑:更多信息...
示例 URL:/about/club's-opening-times 这在浏览器 URL 栏中显示良好。
echo $_SERVER["REQUEST_URI"]; // outputs /about/club's-opening-times
$page_name = end(Router::$segments);
echo $page_name; //club?s-opening-times
当我对 URL 进行编码时,也会发生同样的事情 - %27 变成 ? 如您所见,我正在使用框架(kohana 2.3)库来获取 URL 段,因此 Router::segments 的某处正在用问号替换撇号。我在 live 和 staging 和 charset 设置上检查了 phpinfo() 是相同的。这是一个奇怪的问题。