所有特殊字符都是PHP / HTML中的问号
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了所有特殊字符都是PHP / HTML中的问号,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1433字,纯文字阅读大概需要3分钟。
内容图文
![所有特殊字符都是PHP / HTML中的问号](/upload/InfoBanner/zyjiaocheng/662/c4987f4b0fd94ca2b3e95bbe046e7616.jpg)
PHP的默认字符集为UTF-8. PHP和HTML中的所有特殊字符都将作为问号输出,例如“?”.在浏览器中.所有带有特殊字符的数据都以UTF-8格式存储在数据库字段中.但是,当PHP读取数据库并将其输出到浏览器时,所有特殊字符(如版权和商标符号)都是?
数据不能被编码为htmlentities,因为否则数据将在浏览器中作为html代码输出.数据库中的字段具有html标记.就像所见即所得的领域.
另一个类似的问题并不能真正解决问题.我的问题是php正在读取以utf-8编码的数据库字段,其中包括html标记,文本和特殊字符.然后将数据保存在另一个utf-8编码的数据库字段中.但是中间的东西是不对的.完成该过程后,新mysql列中的特殊字符为?.因此浏览器正在显示?用于所有特殊字符.
$conn = new mysqli($host, $username, $password, $dbName);
mysql_set_charset('utf-8',$conn);
$categoryDescription = utf8_encode(utf8_decode($var['manufacturer_overview']));
解决方法:
我有类似的问题
但是可能是由于多种原因造成的.
1.检查标题是否有
<meta charset="utf-8" />
2.仅在支持特殊字符集的页面中打开支持特殊字符集的页面
3,这就是我的情况
我使用php函数utf8_encode()将数据保存在DB中,但也将其保存在数据库中.
mysql_set_charset('utf8',$dbSelect);
我的功能看起来像这样
public function execute($sql,$useDb = 1)
{
if($useDb == static::LOCAL)
{
$dbSelect = $this->conexion;
}elseif ($useDb == static::REMOTE)
{
$dbSelect = $this->paisConexion;
}
mysql_set_charset('utf8',$dbSelect);
$result = mysql_query($sql,$dbSelect) or die("ERROR: Ejecución de consulta: $sql<br>\n");
return $result;
}
所以它被编码了两次,所以我删除了一个,现在工作正常.
希望这些帮助
谢谢
内容总结
以上是互联网集市为您收集整理的所有特殊字符都是PHP / HTML中的问号全部内容,希望文章能够帮你解决所有特殊字符都是PHP / HTML中的问号所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。