我正在尝试输出到包含奇数字符(例如® ™
(的屏幕字符串。当我这样做时,�
替换所有奇怪的字符。我尝试查看htmlentities()
但没有输出任何奇怪的字符。我知道我可以使用 HTML 代码,但这在我的情况下不起作用。
您正在进入字符编码领域。它使许多人感到困惑,因此这里有一些准则:
由于您正在处理 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。
var_dump( htmlentities('foo ®®', ENT_QUOTES, "UTF-8") );
确保您的源文件是 UTF-8 编码的。
大多数 IDE 在"另存为"对话框或文件选项中的某个位置提供"字符集"选项。