PHP无法回显或打印其他语言文本

时间:2014-02-16 16:03:27

标签: php echo

我正在尝试打印或回显另一种语言文字,但它无法正常工作! 我试过utf8编码或解码,但它不起作用! 有人可以帮忙吗? 感谢。

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>zura</title>
</head>
<body>
<?PHP
header('content-type: text/html; charset=utf-8');
   include 'includes/connection.php';

   $query = "SELECT * FROM chiragdani.children;";
   mysql_select_db('chiragdani',$conn);
   $result = mysql_query($query);
    while($rows = mysql_fetch_array($result))
    {
          print "<p>". mb_substr($rows['ChildID'], 0, 10000, "UTF-8").'      '.$rows    ['ChildName'].$rows['ChildLastName'].'         '."</p>" ;
    }

?>
</body>
</html>

2 个答案:

答案 0 :(得分:3)

这对我有用:

<?PHP
 header('Content-Type: text/html; charset=utf-8');
 echo 'ягвфцвб';
?>

使用Notepad ++编写(编码:无BOM的UTF-8)

编辑:

您的connection.php

中是否有这样的内容?
 mysql_query("SET NAMES utf8",$connection);

答案 1 :(得分:0)

编辑:由于“事后”编辑过多而缺乏研究,我投票决定关闭此问题。 OP将问题从3行代码更改为与DB相关的问题。


您的文件需要保存为 UTF-8(带BOM)

使用Windows记事本,会自动将其保存为ANSI,并且不会显示这些字符。

因此,使用Notepad++等编辑器可以保存为UTF-8

使用ANSI测试代码时,没有显示它们,但是当“保存为”时,UTF-8确实正确显示它们。


编辑(2):

正如Wikunia在答案mysql_query("SET NAMES utf8",$connection);中指出的那样,应该注意它将在“查询数据库之前”使用。

但是,如果最初输入数据“没有”使用UTF-8,那么这可能是一个问题。

我自己使用了这个效果:(成功)

$con->set_charset("utf8");
$con->query("UPDATE table SET  column_name = '$variable'");