无法使用php显示mysql数据库中的特殊字符
Posted
技术标签:
【中文标题】无法使用php显示mysql数据库中的特殊字符【英文标题】:Cannot display special characters from mysql database using php 【发布时间】:2013-10-05 21:23:15 【问题描述】:如果这是一个重复的问题,我深表歉意。我是特殊字符的新手,对特殊字符的编码和解码知之甚少。我查看了整个***,尝试了解决方案,但仍然无法解决我的问题。我在我的 mysql 数据库中存储了特殊字符,例如prēməˈCHo͝or/,/-ˈt(y)o͝or
。数据库排序规则是 utf8_bin。它在我的数据库字段中显示良好,但在我的页面上显示为?pr?m??CHo?or/,/-?t(y)o?or
。我添加了以下行来显示该字段:
<?php
echo strip_tags(html_entity_decode($row->Phonetic_eng,ENT_QUOTES, "UTF-8"));
?>
我也将这个添加到了 php 文件中:
<html><head><meta http-equiv="Content-type" content="text/html;charset=UTF-8"></head></html>
请注意,我认为保存到数据库不是问题。它显示的数据是我认为的问题。那样的话,显示语句应该怎么写:
<?php
echo strip_tags(html_entity_decode($row->Phonetic_eng,ENT_QUOTES, "UTF-8"));
?>
我非常感谢任何帮助。提前谢谢你
【问题讨论】:
可能重复:***.com/questions/15892610/…***.com/questions/12873953/… 假设您正在使用 MySQLi 以及受$con=mysqli_connect("xxx","xxx","xxx","xxx");
影响的东西,请在查询上方使用$con->set_charset("utf8");
。这对我很有效。
UTF-8 all the way through my web application (Apache, MySQL, PHP, ...) 的可能副本
非常感谢。设置 $con->set_charset("utf8");解决了我的问题:)
@Laura 要正确关闭此问题,see my answer 然后单击白色复选标记直到它变为绿色。否则,您的问题仍然属于未回答的类别。
【参考方案1】:
假设你正在使用 MySQLi 和一些影响:
$con=mysqli_connect("xxx","xxx","xxx","xxx");
在查询上方使用$con->set_charset("utf8");
。
【讨论】:
【参考方案2】:选择数据库后,添加:
mysql_query("set names 'utf8'");
【讨论】:
以上是关于无法使用php显示mysql数据库中的特殊字符的主要内容,如果未能解决你的问题,请参考以下文章