【问题标题】:PHP_ can't echo or print another language text [closed]PHP_无法回显或打印另一种语言文本[关闭]
【发布时间】:2014-02-16 16:03:27
【问题描述】:

我正在尝试打印或回显其他语言文本,但它不起作用!!! 我尝试了 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>

【问题讨论】:

  • 您为 HTML 定义的编码是什么?
  • 感谢您的回复,但它不起作用...
  • 您的数据库连接是 UTF-8 吗?你的数据库是?你的专栏?你的数据?如果您不使用已弃用的 mysql_ 函数,而是使用 PDO,您将能够更轻松地定义这种方式。
  • html输出后无法发送header

标签: php echo


【解决方案1】:

这对我有用:

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

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

编辑:

您的connection.php 中有类似的内容吗?

 mysql_query("SET NAMES utf8",$connection);

【讨论】:

  • header() 不适用于 OP。他之前有输出...
  • 操作?他必须在我认为的任何 html 代码之前写 header('...')。
  • OP = 原始海报。您应该在输出开始之前添加一条关于需要包含header() 的注释。
  • 我看不出这是如何获得 2 票的,这与我的几乎没有什么不同。
  • 好的,我知道有什么不同了。我使用了您在答案header('Content-Type: text/html; charset=utf-8'); 中的内容,并在没有BOM 的情况下保存了它,这没关系。然而,为了在没有header('Content-Type: text/html; charset=utf-8'); 的情况下正确显示它,则需要使用 BOM 保存它。 @维基尼亚
【解决方案2】:

编辑:我投票结束这个问题,因为“事后”编辑太多,而且缺乏研究。 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'");

【讨论】:

  • 这不是文件编码的问题(他没有输入内容),它是来自数据库的动态。
  • 当我这样做时:
  • 它工作正常,但我认为问题出在变量中......
  • OP 改变了问题,只有 3 行代码。我讨厌有人做这样的特技。 @BenM
  • 那么这个问题与另一个获得 2 票赞成的问题有何不同?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-25
  • 1970-01-01
  • 2014-12-27
  • 1970-01-01
  • 1970-01-01
  • 2022-06-16
相关资源
最近更新 更多