Table of Contents
The server side must also set the correct MIME type and response header
The file saving format must also be UTF-8
Home Web Front-end HTML Tutorial Specifying Character Encoding for HTML Documents (UTF-8)

Specifying Character Encoding for HTML Documents (UTF-8)

Jul 15, 2025 am 01:43 AM
html Character Encoding

To correctly set the character encoding of HTML documents to UTF-8, you need to follow three steps: 1. Add <meta charset="UTF-8"> at the top of the

part of HTML5; 2. Configure the response header Content-Type: text/html; charset=UTF-8, if Apache uses AddDefaultCharset UTF-8, Nginx uses charset utf-8; 3. Select the UTF-8 encoding format when saving HTML files by the editor. These three links are indispensable, otherwise it may lead to garbled page code and failure of special character parsing, affecting user experience and SEO effect. It is important to ensure that HTML declaration, server configuration and file saving are consistent.

Specifying Character Encoding for HTML Documents (UTF-8)

The character encoding settings of HTML documents seem simple, but if an error occurs, it may cause the page to display garbled codes, special characters cannot be parsed correctly, and even affect SEO and user experience. Using UTF-8 as character encoding is a standard practice in modern web development because it supports characters in most languages around the world. Here are some key points and suggestions on how to specify UTF-8 character encoding for HTML documents.

Specifying Character Encoding for HTML Documents (UTF-8)

Correctly declare character set: <meta charset="UTF-8">

In HTML5, the simplest and most recommended way is to add the following meta tags to the section:

Specifying Character Encoding for HTML Documents (UTF-8)
 <meta charset="UTF-8">

This statement tells the browser that the character encoding used by the current document is UTF-8. It must appear in the <head> area and be placed at the top as much as possible to avoid garbled issues caused by the browser starting to render the page before recognizing the character set.

Common errors include:

Specifying Character Encoding for HTML Documents (UTF-8)
  • Forgot to write this meta tag
  • Wrongly spelled, such as charsett or charst
  • Put it in <body> or blocked by other scripts/contents

So, to be on the safe side, put this tag in the first or second line in <head> immediately before or after the <title> tag.


The server side must also set the correct MIME type and response header

In addition to the declarations inside the HTML document, the HTTP response header sent by the server should also contain character encoding information. For example:

 Content-Type: text/html; charset=UTF-8

This setting ensures that the browser knows which encoding should be used to parse the content before downloading the HTML file. If the server is not configured correctly, even if <meta charset="UTF-8"> is written in the HTML, garbled code may appear.

If you are using an Apache server, you can add it in the .htaccess file:

 AddDefaultCharset UTF-8

If it is Nginx, you can add it to the configuration file:

 charset utf-8;

Of course, the specific configuration method will vary depending on the backend framework or hosting platform you are using. It is a good practice to check if your deployment environment has the correct character set by default.


The file saving format must also be UTF-8

Many people ignore this: when the HTML file itself is saved in the editor, the UTF-8 encoding format must be selected. Otherwise, although you wrote <meta charset="UTF-8"> in the code, the file is actually saved in other encodings (such as GBK, ISO-8859-1), and the browser will still have garbled code when reading.

Common text editors (such as VS Code, Sublime Text, Notepad) allow you to view and change the file's save encoding. When saving HTML files, remember to confirm whether the encoding option is UTF-8. Some editors may use "UTF-8 with BOM" by default, which is also acceptable, but some servers or older systems may have compatibility issues with BOM.


Basically that's it. Setting the character encoding of HTML documents is actually not complicated, but details are easy to ignore. As long as the HTML is correctly declared, the server configuration is appropriate, and the file storage format is consistent, it can effectively avoid the abnormal display of Chinese, emojis or other multilingual characters.

The above is the detailed content of Specifying Character Encoding for HTML Documents (UTF-8). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Why is my HTML image not showing up? Why is my HTML image not showing up? Aug 16, 2025 am 10:08 AM

First, check whether the src attribute path is correct, and ensure that the relative or absolute path matches the HTML file location; 2. Verify whether the file name and extension are spelled correctly and case-sensitive; 3. Confirm that the image file actually exists in the specified directory; 4. Use appropriate alt attributes and ensure that the image format is .jpg, .png, .gif or .webp widely supported by the browser; 5. Troubleshoot browser cache issues, try to force refresh or directly access the image URL; 6. Check server permission settings to ensure that the file can be read and not blocked; 7. Verify that the img tag syntax is correct, including the correct quotes and attribute order, and finally troubleshoot 404 errors or syntax problems through the browser developer tool to ensure that the image is displayed normally.

How to use the bdo tag to override text direction in HTML How to use the bdo tag to override text direction in HTML Aug 16, 2025 am 09:32 AM

Thebdotagisusedtooverridethebrowser’sdefaulttextdirectionrenderingwhendealingwithmixedleft-to-rightandright-to-lefttext,ensuringcorrectvisualdisplaybyforcingaspecificdirectionusingthedirattributewithvalues"ltr"or"rtl",asdemonstrat

How to use the async attribute for script loading in HTML How to use the async attribute for script loading in HTML Aug 17, 2025 pm 12:52 PM

TheasyncattributeinHTMLisusedtoloadandexecuteexternalJavaScriptfilesasynchronously,allowingthebrowsertodownloadthescriptinparallelwithHTMLparsingandexecuteitimmediatelyuponcompletion,whichimprovespageloadperformancebypreventingrender-blocking;itisbes

How to set a default value for an HTML select element How to set a default value for an HTML select element Aug 17, 2025 pm 01:00 PM

To set the default value for HTMLselect elements, the corresponding option element must be marked with the selected attribute; 1. Add the selected attribute to the option you want to select by default, such as UnitedStates; 2. Ensure that only one option in a single select has selected attribute, and if there are multiple ones, the first one will be the source code order; 3. The selected attribute can be placed anywhere in the list, not limited to the first option; 4. This method is suitable for single-select and multiple-select select; 5. If you need to set it dynamically, you can use JavaScript to operate the value attribute, such as document.querySelec

How to create subscript and superscript in HTML How to create subscript and superscript in HTML Aug 20, 2025 am 11:37 AM

TocreatesubscriptandsuperscripttextinHTML,usetheandtags.1.Usetoformatsubscripttext,suchasinchemicalformulaslikeH₂O.2.Usetoformatsuperscripttext,suchasinexponentslike10²orordinalslike1ˢᵗ.3.Combinebothtagswhenneeded,asinscientificnotationlike²³⁵₉₂U.The

What is the HTML Small element for What is the HTML Small element for Aug 16, 2025 am 08:04 AM

Theelementisusedforsidecomments,fineprint,orlessimportantcontentwithsemanticmeaning,notjustvisualstyling;2.Itisappropriateforcopyrightnotices,legaldisclaimers,attributions,andlimitations;3.Itshouldnotbeusedsolelytoreducetextsize—CSSshouldhandlepresen

How to center a div in HTML5? How to center a div in HTML5? Aug 21, 2025 pm 05:32 PM

Tocenteradivhorizontally,usemargin:0autowithadefinedwidth.2.Forhorizontalandverticalcentering,applydisplay:flexontheparentwithjustify-content:centerandalign-items:center.3.Alternatively,useCSSGridwithplace-items:centerforbothdirections.4.Asafallback,

How to restrict file types for an upload input in HTML How to restrict file types for an upload input in HTML Aug 24, 2025 am 02:57 AM

Use the accept attribute to limit the upload type of HTML file, such as accept="image/*" only allows images, accept=".pdf" only allows PDF, accept=".doc,.docx,.pdf,.txt" allows multiple specified types, and can combine JavaScript to verify file types to improve user experience, but security verification must be performed on the server side, because the accept attribute is not secure and the browser supports are different, and it is only used to improve availability rather than replace server verification.

See all articles