在PHP中输出奇怪的字符到屏幕

时间:2013-02-08 17:01:39

标签: php character symbols

我正在尝试输出包含奇数字符的屏幕字符串,例如® ™。当我这样做时,将替换所有奇数字符。我试过调查htmlentities(),但没有输出任何奇数字符。我知道我可以使用HTML代码,但在我的情况下这不起作用。

2 个答案:

答案 0 :(得分:2)

您正在进入字符编码领域。这让很多人感到困惑,所以这里有一些指导原则:

由于您正在处理HTML,因此总是使用htmlentities。这会给你一些类似的东西; &abc;Ӓ。这些字符将始终正确显示。

另一种方法是使用字符集编码。这意味着您必须确保所有字符都以相同的字符编码输出,并为浏览器提供正确的字符编码提示。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

强制浏览器使用UTF-8。您可以替代ISO-8859-1,这是您首选的编码。

然后,如果您的所有输入都是UTF-8,那么您的输出也应该是UTF-8。如果不是,转换它。 utf8_encode会将字符串转换为UTF-8。

答案 1 :(得分:1)

var_dump( htmlentities('foo ®®', ENT_QUOTES, "UTF-8") );

确保您的源文件是UTF-8编码。

大多数IDE在“另存为”对话框或文件选项中的某个位置提供“字符集”选项。