gpt4 book ai didi

php - 如何用 ñ 显示数据库值

转载 作者:行者123 更新时间:2023-11-29 12:03:43 24 4
gpt4 key购买 nike

我尝试了多种类型的解决方案,例如:

-htmlentities -> 使用此功能时,所有带ñ的单词都不会显示

-htmlspecialchars -> 所有带有 ñ 的单词都是“?”

-utf8_encode ->所有有 ñ 的单词都是“?”

-html_entity_decode(htmlentities($test)); ->使用此功能时,所有带ñ的单词都不会显示

我的代码只是一个简单的选择,这是我的代码:

if (isset($_GET['cityname1'])) 
{

$cityname = strval($_GET['cityname1']);
$cname = mysql_query("SELECT cityname FROM city WHERE provinceid = '$cityname' ORDER BY cityname ASC");

echo "<option value='0'>Select Territory</option>";

while($provincerow = mysql_fetch_array($cname))
{
$pname = htmlentities($provincerow['cityname']);
echo "<option value='{$pname}'>{pname}</option>";
}
}
else
{
echo "Please Contact the technical team";
}

最佳答案

啊,您已经进入了浏览器、PHP 和 MySQL 中字符编码的奇妙世界。

处理这些字符并不是一件小事,因为它取决于许多因素。通常来说,PHP 和 MySQL 之间的通信不是采用 UTF-8 格式,这意味着特殊字符(如 ñ)会变得困惑。所以setting the connection转为 UTF-8 是一个好的开始。此外,PHP 可能未以 UTF-8 兼容方式运行,这可以使用描述的函数 here 进行检查(和设置)。 。

正确设置此设置后,您应该能够使用 html_entities 函数将字符正确替换为 HTML 字符编码 (ñ)。

不同服务(例如 PHP 和 MySQL)之间通信的主要问题是,当它们不使用相同的字符编码时,字符(基本上是数字)将会困惑。因为 MySQL 和 PHP 都会对某个字符使用不同的数字。对于非特殊字符(例如非重音字母),这是可行的,因为这些字符非常标准化,但对于更奇怪的字符,仍然会遇到一些困难,正如您所经历的那样。

请注意,此答案假设有一个基本设置,如果我做出了不合理的假设,请提供反馈,然后我可以进一步帮助您。

关于php - 如何用 ñ 显示数据库值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31931997/

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