我正在尝试输出包含奇数字符的屏幕字符串,例如® ™
。当我这样做时,�
将替换所有奇数字符。我试过调查htmlentities()
,但没有输出任何奇数字符。我知道我可以使用HTML代码,但在我的情况下这不起作用。
答案 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在“另存为”对话框或文件选项中的某个位置提供“字符集”选项。