【问题标题】:how to prevent server I don't own from sending charset=UTF-8 in the http request如何防止我不拥有的服务器在 http 请求中发送 charset=UTF-8
【发布时间】:2020-09-06 22:17:23
【问题描述】:

我想保留一个旧的法语网站,其 html 文件以 iso-8859-1 编码。包含所有 html 文件

<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

元素中,但是我网站的主机更改了配置中的某些内容,现在页面从其服务器发送,其中包含 HTTP 标头
content-type: text/html; charset=UTF-8

不幸的是,有人认为这会覆盖 信息。

我是否必须将我所有的 html 文件转码为 UTF-8,或者有更快的解决方案吗?


更新

事实上,字符集被添加到http头的内容类型字段用于由php发出的html内容,而不是用于纯html文件。我会将我采用的解决方案作为答案。

【问题讨论】:

  • @mplungjan 谢谢,这将是昆汀回答中的第一个选项
  • @mplungjan 实际上,您提供的链接还有另一个接近我想要的解决方案,使用 .htaccess。问题是:有一些最近的文件是 UTF-8 格式的。
  • 这是我发布它的第二个,因为您已经遇到了他们如何设置标题的问题
  • 所以 grep 为 é 并忽略那些

标签: html http character-encoding


【解决方案1】:

您的选择:

  • 文件转码
  • 说服更改服务器配置的人再次更改它
  • 更改服务器
  • 通过服务器端脚本运行所有请求,该脚本输出不同的 Content-Type 标头,然后输出 HTML(占缓存控制标头)

【讨论】:

  • 谢谢。你能在第四个选项上开发吗?
【解决方案2】:

我花了一段时间才意识到这个问题只发生在 .php 文件上。我选择的修复如下:我添加了行

ini_set('default_charset', NULL);

在每个 php 文件的开头。有点乏味,但对我来说似乎是合理的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2012-08-30
    • 2017-01-28
    • 2019-05-16
    • 2017-06-04
    • 2015-08-09
    • 1970-01-01
    相关资源
    最近更新 更多