【问题标题】:Cannot display special characters from mysql database using php无法使用php显示mysql数据库中的特殊字符
【发布时间】:2013-10-05 21:23:15
【问题描述】:

如果这是一个重复的问题,我深表歉意。我是特殊字符的新手,对特殊字符的编码和解码知之甚少。我查看了整个stackoverflow,尝试了解决方案,但仍然无法解决我的问题。我在我的 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")); 
?>

我非常感谢任何帮助。提前谢谢你

【问题讨论】:

标签: php mysql special-characters


【解决方案1】:

假设你正在使用 MySQLi 和一些影响:

$con=mysqli_connect("xxx","xxx","xxx","xxx"); 

在查询上方使用$con-&gt;set_charset("utf8");

【讨论】:

    【解决方案2】:

    选择数据库后,添加:

    mysql_query("set names 'utf8'");
    

    【讨论】:

      猜你喜欢
      • 2016-10-08
      • 2012-05-13
      • 2013-10-17
      • 1970-01-01
      • 2016-09-06
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多