HTML Guide
In HTML5 you’re encouraged to use Unicode (UTF-8) character encoding rather than a legacy character encoding such as Latin1 (Windows-1252 or ISO 8859-1).
In short, it can be just a matter of using <meta charset="utf-8"/> in your document, but you should also ensure that your pages are also saved and served as UTF-8.
Learn more:
Related W3C validator issues
A <meta> tag has been found in the document stating that the charset is windows-1252, but it actually is utf-8. You should update the tag to reflect the actual encoding of the document, for example:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">A <meta> tag has been found in the document stating that the charset is windows-1251, but it actually is utf-8. You should update the tag to reflect the actual encoding of the document, for example:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">In order to define the charset encoding of an HTML document, both of these options are valid, but only one of them must appear in the document:
<!-- This is the preferred way -->
<meta charset="UTF-8">
<!-- This is the older way, also valid -->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">There’s an incomplete or incorrectly formed <meta> tag. The <meta> tag in HTML is used to provide metadata about the HTML document. This metadata is typically specified using attributes like charset, content, http-equiv, itemprop, name, and property.
To fix this issue, you need to ensure that your <meta> tags include at least one of these attributes. Here are some examples of properly formed <meta> tags with each of these attributes:
- 
    Using the charset attribute: <meta charset="UTF-8">This specifies the character encoding for the HTML document, which is crucial for displaying text correctly in different languages. 
- 
    Using the content and name attributes: <meta name="description" content="A brief description of the webpage content.">This provides a description of the webpage content, which can be used by search engines. 
- 
    Using the http-equiv and content attributes: <meta http-equiv="refresh" content="30">This specifies information to be passed to the browser, such as refreshing the page every 30 seconds. 
- 
    Using the property and content attributes: <meta property="og:title" content="Your Webpage Title">This is used for Open Graph meta tags, which improve the appearance of shared content on social media platforms. 
Correct Usage Example
Here’s an example of an HTML document with a properly formed set of <meta> tags:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="A brief description of the webpage content.">
    <meta http-equiv="refresh" content="30">
    <meta property="og:title" content="Your Webpage Title">
    <title>Document</title>
</head>
<body>
<!-- Page content goes here -->
</body>
</html>The <meta charset> is expected to appear at the beginning of the document, within the first 1024 bytes. Consider moving it to the beginning of the <head> section, as in this example:
<head>
  <meta charset="utf-8">
  ...
</head>A character encoding declaration is a mechanism by which the character encoding used to store or transmit a document is specified. For HTML documents, the standard way to declare a document character encoding is by including a <meta> tag with a charset attribute, typically <meta charset="utf-8">.
According to the W3C standard:
The element containing the character encoding declaration must be serialized completely within the first 1024 bytes of the document.
The <meta charset> tag, used to define the character encoding, must appear only once in a document, within the <head> section.
A <meta> tag has been found that is either malformed, or in a bad place within the document. Check its attributes and context.
For example, the following HTML contains a valid <meta> tag that is raising an issue because of bad context, caused by an <img> tag that shouldn’t be there:
<!DOCTYPE html>
<html lang="">
  <head>
    <title>Test</title>
    <img src="photo.jpg" alt="A smiling cat" />
    <meta charset="utf-8" />
  </head>
  <body>
    <p>Some content</p>
  </body>
</html>If we fix that document and move the <img> tag within the body, the issue raised about <meta> disappears because it’s now in a valid context:
<!DOCTYPE html>
<html lang="">
  <head>
    <title>Test</title>
    <meta charset="utf-8" />
  </head>
  <body>
    <p>Some content</p>
    <img src="photo.jpg" alt="A smiling cat" />
  </body>
</html>A <meta> element without a content, itemprop or property attributes has been found in an unexpected place.
Check its attributes and context - depending on the section of the document (<head> or <body>), the <meta> element allows different attributes.
A <meta> tag has been found that is missing its required content. Example of a valid meta tag:
<meta name="description" content="Description of the page" />Remove duplicate <meta> elements that set the name attribute to description from your HTML document.
HTML documents should only include one <meta> element with the name attribute set to description to provide a brief summary of the webpage content. This is crucial for search engine optimization, as search engines use this information to display summaries of your pages in search results. A duplicate description meta tag can confuse search engines, possibly affecting your webpage’s visibility negatively. To resolve this, locate all <meta> elements with name="description" in your HTML and remove duplicates, leaving only one that accurately describes your content.
Example of Duplicate Meta Tags
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Sample Page</title>
  <meta name="description" content="This is a description of the page.">
  <meta name="description" content="Another description here.">
  <meta name="author" content="John Doe">
</head>
<body>
  <h1>Welcome to the Sample Page</h1>
  <p>This page serves as an example for HTML structure.</p>
</body>
</html>Corrected Version
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Sample Page</title>
  <meta name="description" content="This is a description of the page.">
  <meta name="author" content="John Doe">
</head>
<body>
  <h1>Welcome to the Sample Page</h1>
  <p>This page serves as an example for HTML structure.</p>
</body>
</html>Ensure that the content for the description meta tag is meaningful and relevant to what visitors can expect to find on the web page.