gpt4 book ai didi

php - 页面刷新时丢失语音标记

转载 作者:行者123 更新时间:2023-11-29 14:45:43 25 4
gpt4 key购买 nike

我使用 php 和 mysql 构建了一个类别导航系统。

$query = "SELECT category_name, category_desc FROM categories";
$result = mysql_query($query, $dbc)
or die (mysql_error($dbc));

while($row = mysql_fetch_array($result)) {

$catname = $row["category_name"];
$catdesc = $row["category_desc"];

echo "<li><a href='getsubs.php?category=$catname'>$catname<br /><span>$catdesc</span></a></li>";

此代码为我提供了数据库中的类别列表。

当单击这些类别并请求 getsubs.php 文件时:

$category= $_GET['category'];

$query = "SELECT subcategory_name FROM subcategories WHERE subcategory_parent = '$category'";
$result = mysql_query($query, $dbc)
or die (mysql_error($dbc));

while($row = mysql_fetch_array($result)) {

$subcatname = $row["subcategory_name"];

echo "<li><a href='getsubsubs.php?category=$subcatname'>$subcatname</a></li>";

$category = mysql_real_escape_string($_GET['category']);

}

页面其余部分的文本(不是数据库驱动的)丢失了基础级别上存在的任何语音标记/引号 (")。有人知道为什么会出现这种情况吗?

提前非常感谢。

编辑:之前和之后:

Before

After

最佳答案

那些?经常因为 unicode 编码问题而出现。您的 table subcategoriescategories可能有不同的排序规则。一种可能是 unicode 变体之一,另一种则有较少的选择。试试这个快速修复:

-- in the top query:
SELECT
category_name COLLATE latin1_swedish_ci,
category_desc COLLATE latin1_swedish_ci
FROM categories

-- in the bottom query
SELECT subcategory_name COLLATE latin1_swedish_ci
FROM subcategories WHERE subcategory_parent = '$category'"

更正确的方法是更改​​两个表以使用相同的排序规则和/或使用 <meta> 调整编码输出。标签。 (像 <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> 可能会这样做)

(顺便说一句,我或多或少必须指出,您应该在数据库输入周围使用 mysql_real_escape_string )

关于php - 页面刷新时丢失语音标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com