diff --git a/ecrire/inc/headers.php b/ecrire/inc/headers.php
index 0a0396f55a9789c50675b68e258292d04a02c085..33a9bd9ac88be8b5f630e0a5daf14a7e0bdc1d5b 100644
--- a/ecrire/inc/headers.php
+++ b/ecrire/inc/headers.php
@@ -104,7 +104,7 @@ function redirige_par_entete($url, $equiv = '', $status = 302) {
 <head>',
 	$equiv, '
 <title>HTTP ' . $status . '</title>
-' . ((isset($GLOBALS['meta']['charset'])) ? '<meta http-equiv="Content-Type" content="text/html;charset=' . $GLOBALS['meta']['charset'] . '">' : '') . '
+' . ((isset($GLOBALS['meta']['charset'])) ? '<meta charset="' . $GLOBALS['meta']['charset'] . '">' : '') . '
 </head>
 <body>
 <h1>HTTP ' . $status . '</h1>
diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index 74c4266d43d6416be35ba3d363276e8f9abcc5d3..0d22d544ce2ea3464634bf053e012d4912b517a7 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -131,7 +131,7 @@ function balise_DESCRIPTIF_SITE_SPIP_dist($p) {
  * @link https://www.spip.net/4331
  * @example
  *     ```
- *     <meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" />
+ *     <meta charset="#CHARSET" />
  *     ```
  *
  * @param Champ $p
diff --git a/ecrire/public/debusquer.php b/ecrire/public/debusquer.php
index c422bc993124c12a292340c51eb282bc2fc2f2e0..6abc2a639c64ae2230c3b407f35e4fcc7512422f 100644
--- a/ecrire/public/debusquer.php
+++ b/ecrire/public/debusquer.php
@@ -861,9 +861,7 @@ function debusquer_entete($titre, $corps) {
 		_T('admin_debug') . ' ' . spip_htmlspecialchars($titre) . ' (' .
 		supprimer_tags(corriger_typo($GLOBALS['meta']['nom_site']))) .
 	")</title>\n" .
-	"<meta http-equiv='Content-Type' content='text/html" .
-	(($c = $GLOBALS['meta']['charset']) ? "; charset=$c" : '') .
-	"' />\n" .
+	($c = $GLOBALS['meta']['charset']) ? "<meta charset='$c' />\n" : '' .
 	http_script('', 'jquery.js')
 	. "<link rel='stylesheet' href='" . url_absolue(find_in_path('spip_admin.css'))
 	. "' type='text/css' />" .
diff --git a/prive/login.html b/prive/login.html
index e7d3a2706cc142a3ce5b8324716ea833847c51b5..1a845479a5a3b23597825c662a2ddde6e44000b5 100644
--- a/prive/login.html
+++ b/prive/login.html
@@ -6,7 +6,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" lang="#LANG" dir="#LANG_DIR">
 <head>
 <title>[(#NOM_SITE_SPIP|textebrut)]</title>
-<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" />
+<meta charset="#CHARSET" />
 <meta name="robots" content="none" />
 <meta name="viewport" content="width=device-width" />
 #INSERT_HEAD_CSS
diff --git a/prive/spip_pass.html b/prive/spip_pass.html
index 3076ec04c9c3444da4db2aa0a4c522242e58ab95..2aa23ab494cabab75c6435c5a86b3149222ef4f8 100644
--- a/prive/spip_pass.html
+++ b/prive/spip_pass.html
@@ -6,7 +6,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" lang="#LANG" dir="#LANG_DIR">
 <head>
 <title><:pass_mot_oublie:> - [(#NOM_SITE_SPIP|textebrut)]</title>
-<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" />
+<meta charset="#CHARSET" />
 <meta name="robots" content="none" />
 <meta name="viewport" content="width=device-width" />
 #INSERT_HEAD_CSS
diff --git a/prive/squelettes/inclure/head.html b/prive/squelettes/inclure/head.html
index fb030c207770ba1e5f2f834deee6076b219000a6..632cf6f2652fde1fb267198220cb2d001e1c0f8e 100644
--- a/prive/squelettes/inclure/head.html
+++ b/prive/squelettes/inclure/head.html
@@ -2,9 +2,8 @@
 Appel au script php en attendant de reecrire le head ici
 ]
 [<title>(#ENV{titre,''})</title>
-]
-<meta http-equiv="Content-Type" content="text/html[; charset=(#CONFIG{charset})]" />
-<script>
+][<meta charset=(#CONFIG{charset})" />
+]<script>
 var url_menu_rubrique="[(#VAL{menu_rubriques}|generer_url_action{[date=(#CONFIG{date_calcul_rubriques})],1})]";
 (function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);
 [(#EVAL{$_COOKIE}|table_valeur{spip_accepte_ajax}|>={1}|non)