字符编码适用于一个页面,但不适用于另一个页面

时间:2012-06-12 10:30:48

标签: javascript encoding character-encoding

我有一个页面http://199.193.248.80/test/test.php,其中包含«character。

但是当我在http://199.193.248.80/test/test.html上用js阅读此页面时,角色变成了

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

2 个答案:

答案 0 :(得分:1)

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

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

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

或更改php.ini以进行全局更改。

另见:

答案 1 :(得分:-1)

我建议使用HTML实体表单:&laquo;

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

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