web-dev-qa-db-fra.com

Comment corriger "Erreur: Un attribut charset sur un méta élément trouvé après les 512 premiers octets"

Je reçois cette erreur pour mon site en validation.

Error: A charset attribute on a meta element found after the first 512 bytes.

et voici le code causant ce problème:

    <!DOCTYPE html> 
    <html class="not-ie no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> 
    <head>
    <link rel="stylesheet" type="text/css" href="http://mywebsite.com.au/wp-content/cache/minify/000000/TY3RDsIgDEV_SFb5pAqVgLDWFTb79y6bWXw6ybk3OR4KdcHwgsZxVFLYckzUL97uoN0q7QyqUN6DFpueOAd78Gdqef4ta47EruifwhEzS0WjZfWH97CJSw1FcjdHqOYSc6rkdqdnaU_LdRHW7k79BQ.css" media="all" />
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/hY7RDsIgDEV_aFCXmCzxb5DVDQSKtDj164W5dx977rltV5F8ATDevPRCtAQ02bG2FHcGwV0Z_KNiecOoJz0eg44uac_DCTxDpBlLcp-ibWWh-KNPNyMpz10dztBWRkyiCuaw14exsSTGirpRiWoCl2yoM3JvH2d68l9mW1wWbpJHycbe-0s1tHDLS6GVvg.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/M9YvzdTPKixNLarUK83UK89MSU8t0cvNzAMA.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/ZY5BDsIwDAQ_RNIWxEt4gUkMuKRxsJPS8HpacahQLnuYnZW270btFAO6TDN9xED0BpcsYH6URe1E8dBvoqAmjn4H46ugVIugFO9msKemukF09cqLTeCef42rLqCFEJqNTiD5krcI5FEagZQzJ2z46EC4rMf3BoonTgEqyjw0g8zFPS5vSrieP9rzLriimacv.js"></script>
    <meta charset="UTF-8">
16
vDog

Déplacez l'entrée meta au-dessus de toutes les autres entrées, telles que:

<!DOCTYPE html> 
<html class="not-ie no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> 
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="http://mywebsite.com.au/wp-content/cache/minify/000000/TY3RDsIgDEV_SFb5pAqVgLDWFTb79y6bWXw6ybk3OR4KdcHwgsZxVFLYckzUL97uoN0q7QyqUN6DFpueOAd78Gdqef4ta47EruifwhEzS0WjZfWH97CJSw1FcjdHqOYSc6rkdqdnaU_LdRHW7k79BQ.css" media="all" />
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/hY7RDsIgDEV_aFCXmCzxb5DVDQSKtDj164W5dx977rltV5F8ATDevPRCtAQ02bG2FHcGwV0Z_KNiecOoJz0eg44uac_DCTxDpBlLcp-ibWWh-KNPNyMpz10dztBWRkyiCuaw14exsSTGirpRiWoCl2yoM3JvH2d68l9mW1wWbpJHycbe-0s1tHDLS6GVvg.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/M9YvzdTPKixNLarUK83UK89MSU8t0cvNzAMA.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/ZY5BDsIwDAQ_RNIWxEt4gUkMuKRxsJPS8HpacahQLnuYnZW270btFAO6TDN9xED0BpcsYH6URe1E8dBvoqAmjn4H46ugVIugFO9msKemukF09cqLTeCef42rLqCFEJqNTiD5krcI5FEagZQzJ2z46EC4rMf3BoonTgEqyjw0g8zFPS5vSrieP9rzLriimacv.js"></script>

Votre problème réside dans les violations de la recommandation W3C HTML5 :

L'élément contenant la déclaration de codage de caractères doit être sérialisé dans les 1024 premiers octets du document.

Quel que soit le test que vous utilisez soit quelque peu obsolète, la limite était auparavant de 512 octets mais a été modifiée (au plus tard) en décembre 2012.

Ces balises plutôt volumineuses script poussent la spécification du jeu de caractères bien en dehors de la plage de 512 octets de votre outil de test. Même si vous utilisez un outil de test ultérieur qui reconnaît le changement à 1024 octets, cela peut toujours être un problème. Le conseil de placer la balise meta à l'avant devrait résoudre l'un ou l'autre cas.

16
paxdiablo

Il suffit de mettre 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

comme une phrase complète au lieu d'écrire seulement

<meta charset="UTF-8">

Ça fonctionne bien pour moi.

8
Hugo Rush

Essayez de mettre la balise méta comme la première chose à l'intérieur de la tête

1
p e p

Cette erreur se produit également si la balise apparaît plusieurs fois dans le code <head> de la page. Vérifiez que vous n'avez pas écrit ceci par inadvertance deux fois. 

0
Martin