0

我有一个http://199.193.248.80/test/test.php包含 « 字符的页面。

但是当我打开js阅读这个页面时http://199.193.248.80/test/test.html,字符变成了?</p>

两个页面都使用 Charset Windows-1252,所以我不知道为什么它可以在一个页面上工作,而在另一个页面上却不行。需要做什么来解决这个问题?

4

2 回答 2

1

这可能是因为 PHP 在标头中设置的字符集(在提供 . 时.php)与 Apache(在提供 时.html)不同。浏览器使用响应标头中提到的字符集;它实际上覆盖了<meta>标签。

默认情况下 PHP 选择iso-8859-1我相信,但您可以使用以下命令覆盖 PHP 中的字符集:

header('Content-Type: text/html; charset=windows-1252');

或更改php.ini全局更改。

也可以看看:

于 2012-06-12T10:40:12.587 回答
-1

我建议使用 HTML-entity 表单:&laquo;

这样,您对文件使用什么字符集并不重要,因为您的浏览器只是解析它。

在 PHP 中,您可以使用$str = htmlentities( $str );对字符串进行编码

于 2012-06-12T10:35:42.467 回答