如何用php在html中显示utf8中文

如何用php在html中显示utf8中文,php,html,utf-8,Php,Html,Utf 8,我的mysql数据库中存储了utf-8格式的中文字符,但我需要将它们显示在一个网页上,该网页必须输出为charset=ISO-8859-1 当以拉丁文呈现时,我的测试字符串看起来像“dsfsdfsdfåäääääääæèèè•” 我尝试过以下方式使用htmlentities,因为我无法从php文档中分辨$encoding是指输入字符串的编码还是所需的输出字符串的编码 $row['admin_comment']=htmlentities( $row['admin_comment'] ,

我的mysql数据库中存储了utf-8格式的中文字符,但我需要将它们显示在一个网页上,该网页必须输出为charset=ISO-8859-1

当以拉丁文呈现时,我的测试字符串看起来像“dsfsdfsdfåäääääääæèèè•”

我尝试过以下方式使用htmlentities,因为我无法从php文档中分辨$encoding是指输入字符串的编码还是所需的输出字符串的编码

$row['admin_comment']=htmlentities( $row['admin_comment'] ,
                        ENT_COMPAT | ENT_HTML401 ,
                        'ISO-8859-1' , 
                        false  );

$row['admin_comment']=htmlentities( $row['admin_comment'] ,
                        ENT_COMPAT | ENT_HTML401 ,
                        'UTF-8' , 
                        false  );

但是两者的输出字符串都保持不变

函数不会将字符转换为数字字符实体。为此,您可以使用以下功能:

$row['admin_comment'] = mb_encode_numericentity($row['admin_comment'], 
                            array(0xFF, 0xFFFF, 0, 0xFFFF), "UTF-8");

不过,您可能应该考虑迁移到UTF-8。

函数不会将字符转换为数字字符实体。为此,您可以使用以下功能:

$row['admin_comment'] = mb_encode_numericentity($row['admin_comment'], 
                            array(0xFF, 0xFFFF, 0, 0xFFFF), "UTF-8");

不过,您可能应该考虑迁移到UTF-8。

您不能在ISO-8859-1字符集中输出汉字。这根本不可能

您有两种可能:

  • 坚持使用UTF-8(推荐)
  • 选择另一个与中文兼容的字符集(BIG5,如果我没记错的话)

  • 为什么页面必须呈现为拉丁语-1?我觉得这个要求很奇怪。我的建议是在任何地方(从数据库编码到HTML呈现)使用UTF-8字符集。这将在将来为您节省很多痛苦。

    您不能在ISO-8859-1字符集中输出汉字。这根本不可能

    您有两种可能:

  • 坚持使用UTF-8(推荐)
  • 选择另一个与中文兼容的字符集(BIG5,如果我没记错的话)

  • 为什么页面必须呈现为拉丁语-1?我觉得这个要求很奇怪。我的建议是在任何地方(从数据库编码到HTML呈现)使用UTF-8字符集。这将在将来为您节省很多痛苦。

    事实证明,您可以将页面中的iframe设置为不同的编码。

    事实证明,您可以将页面中的iframe设置为不同的编码。

    您尝试过echo utg8解码吗?ISO-8859-1中不存在汉字。您尝试过echo utg8解码吗?汉字不存在在ISO-8859-1中,出于某种原因,我原以为有用于汉字的html实体代码,但现在我找不到了。这是一个2000多行的传统页面,跨越多个文件,每个文件中都包含php、html和javascript,所以这是我的第一个方法。。。这是一个不可能的任务,有一个html实体为每一个!出于某种原因,我原以为有用于汉字的html实体代码,但现在我找不到了。这是一个2000多行的传统页面,跨越多个文件,每个文件中都包含php、html和javascript,所以这是我的第一个方法。。。这是一个不可能的任务,有一个html实体为每一个!