Mã hóa kí tự trong HTML (Charset)
Để hiển thị một trang HTML đúng quy cách, trình duyệt web cần phải biết sử dụng bộ kí tự nào (mã hóa kí tự). Mã hóa kí tự là gì? ASCII là chuẩn mã hóa kí tự (character encoding) đầu tiên (còn được gọi là bộ kí tự - character set). ASCII định nghĩa 128 kí ...
Để hiển thị một trang HTML đúng quy cách, trình duyệt web cần phải biết sử dụng bộ kí tự nào (mã hóa kí tự).
Mã hóa kí tự là gì?
ASCII là chuẩn mã hóa kí tự (character encoding) đầu tiên (còn được gọi là bộ kí tự - character set). ASCII định nghĩa 128 kí tự kiểu chữ số: các số từ 0 đến 9, các chữ cái tiếng Anh từ A tới Z và một số kí tự đặc biệt như ! $ + - ( ) @ < >.
ANSI (Windows-1252) là bộ kí tự Windows đầu tiên hỗ trợ 256 kí tự khác nhau. ISO-8859-1 là bộ kí tự mặc định cho HTML 4, cũng hỗ trợ 256 kí tự.
Do ANSI và ISO-8859-1 rất giới hạn, nên HTML 4 còn hỗ trợ cả UTF-8. UTF-8 (Unicode) gồm hầu hết tất cả các kí tự và biểu tượng trên thế giới. HTML5 mặc định dùng bộ kí tự UTF-8.
Thuộc tính charset trong HTML
Việc trình duyệt hiển thị trang HTML bằng bộ kí tự nào được xác định trong thẻ <meta>.
Với HTML 4
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
Với HTML 5
<meta charset="UTF-8">
Nếu trình duyệt phát hiện ISO-8859-1 trên trang web, nó sẽ mặc định chuyển sang ANSI vì ANSI cũng giống ISO-8859-1, ngoại trừ việc có thêm 32 kí tự khác.
Sự khác biệt giữa các bộ kí tự
Bảng dưới đây cho thấy sự khác biệt giữa các bộ kí tự nói trên.
Số | ASCII | ANSI | 8859 | UTF-8 | Mô tả |
---|---|---|---|---|---|
32 | khoảng trắng | ||||
33 | ! | ! | ! | ! | dấu chấm than |
34 | " | " | " | " | dấu nháy kép |
35 | # | # | # | # | dấu thăng |
36 | $ | $ | $ | $ | dấu đô-la |
37 | % | % | % | % | dấu phần trăm |
38 | & | & | & | & | dấu và |
39 | ' | ' | ' | ' | dấu nháy đơn |
40 | ( | ( | ( | ( | mở ngoặc kép |
41 | ) | ) | ) | ) | đóng ngoặc kép |
42 | * | * | * | * | dấu sao |
43 | + | + | + | + | dấu cộng |
44 | , | , | , | , | dấu phẩy |
45 | - | - | - | - | dấu gạch ngang |
46 | . | . | . | . | dấu chấm |
47 | / | / | / | / | dấu xổ chéo |
48 | 0 | 0 | 0 | 0 | số 0 |
49 | 1 | 1 | 1 | 1 | số 1 |
50 | 2 | 2 | 2 | 2 | số 2 |
51 | 3 | 3 | 3 | 3 | số 3 |
52 | 4 | 4 | 4 | 4 | số 4 |
53 | 5 | 5 | 5 | 5 | số 5 |
54 | 6 | 6 | 6 | 6 | số 6 |
55 | 7 | 7 | 7 | 7 | số 7 |
56 | 8 | 8 | 8 | 8 | số 8 |
57 | 9 | 9 | 9 | 9 | số 9 |
58 | : | : | : | : | dấu phẩy |
59 | ; | ; | ; | ; | dấu chấm phẩy |
60 | < | < | < | < | dấu nhỏ hơn |
61 | = | = | = | = | dấu bằng |
62 | > | > | > | > | dấu lớn hơn |
63 | ? | ? | ? | ? | dấu hỏi |
64 | @ | @ | @ | @ | dấu a còng |
65 | A | A | A | A | Chữ A viết hoa |
66 | B | B | B | B | Chữ B viết hoa |
67 | C | C | C | C | Chữ C viết hoa |
68 | D | D | D | D | Chữ D viết hoa |
69 | E | E | E | E | Chữ E viết hoa |
70 | F | F | F | F | Chữ F viết hoa |
71 | G | G | G | G | Chữ G viết hoa |
72 | H | H | H | H | Chữ H viết hoa |
73 | I | I | I | I | Chữ I viết hoa |
74 | J | J | J | J | Chữ J viết hoa |
75 | K | K | K | K | Chữ K viết hoa |
76 | L | L | L | L | Chữ L viết hoa |
77 | M | M | M | M | Chữ M viết hoa |
78 | N | N | N | N | Chữ N viết hoa |
79 | O | O | O | O | Chữ O viết hoa |
80 | P | P | P | P | Chữ P viết hoa |
81 | Q | Q | Q | Q | Chữ Q viết hoa |
82 | R | R | R | R | Chữ R viết hoa |
83 | S | S | S | S | Chữ S viết hoa |
84 | T | T | T | T | Chữ T viết hoa |
85 | U | U | U | U | Chữ U viết hoa |
86 | V | V | V | V | Chữ V viết hoa |
87 | W | W | W | W | Chữ W viết hoa |
88 | X | X | X | X | Chữ X viết hoa |
89 | Y | Y | Y | Y | Chữ Y viết hoa |
90 | Z | Z | Z | Z | Chữ Z viết hoa |
91 | [ | [ | [ | [ | mở ngoặc vuông |
92 | dấu xổ chéo ngược | ||||
93 | ] | ] | ] | ] | đóng ngoặc vuông |
94 | ^ | ^ | ^ | ^ | dấu mũ |
95 | _ | _ | _ | _ | dấu gạch dưới |
96 | ` | ` | ` | ` | dấu huyền |
97 | a | a | a | a | Chữ a viết thường |
98 | b | b | b | b | Chữ b viết thường |
99 | c | c | c | c | Chữ c viết thường |
100 | d | d | d | d | Chữ d viết thường |
101 | e | e | e | e | Chữ e viết thường |
102 | f | f | f | f | Chữ f viết thường |
103 | g | g | g | g | Chữ g viết thường |
104 | h | h | h | h | Chữ h viết thường |
105 | i | i | i | i | Chữ i viết thường |
106 | j | j | j | j | Chữ j viết thường |
107 | k | k | k | k | Chữ k viết thường |
108 | l | l | l | l | Chữ l viết thường |
109 | m | m | m | m | Chữ m viết thường |
110 | n | n | n | n | Chữ n viết thường |
111 | o | o | o | o | Chữ o viết thường |
112 | p | p | p | p | Chữ p viết thường |
113 | q | q | q | q | Chữ q viết thường |
114 | r | r | r | r | Chữ r viết thường |
115 | s | s | s | s | Chữ s viết thường |
116 | t | t | t | t | Chữ t viết thường |
117 | u | u | u | u | Chữ u viết thường |
118 | v | v | v | v | Chữ v viết thường |
119 | w | w | w | w | Chữ w viết thường |
120 | x | x | x | x | Chữ x viết thường |
121 | y | y | y | y | Chữ y viết thường |
122 | z | z | z | z | Chữ z viết thường |
123 | { | { | { | { | mở ngoặc kép |
124 | | | | | | | | | dấu gạch thẳng |
125 | } | } | } | } | đóng ngoặc kép |
126 | ~ | ~ | ~ | ~ | dấu ngã |
127 | DEL | ||||
128 | € | đồng euro | |||
129 | | | | Không sử dụng | |
130 | ‚ | single low-9 quotation mark | |||
131 | ƒ | Chữ f thường với dấu móc | |||
132 | „ | double low-9 quotation mark | |||
133 | … | horizontal ellipsis | |||
134 | † | dagger | |||
135 | ‡ | double dagger | |||
136 | ˆ | modifier letter circumflex accent | |||
137 | ‰ | per mille sign | |||
138 | Š | Latin capital letter S with caron | |||
139 | ‹ | single left-pointing angle quotation mark | |||
140 | Œ | Latin capital ligature OE | |||
141 | | | | Không sử dụng | |
142 | Ž | Latin capital letter Z with caron | |||
143 | | | | Không sử dụng | |
144 | | | | Không sử dụng | |
145 | ‘ | left single quotation mark | |||
146 | ’ | right single quotation mark | |||
147 | “ | left double quotation mark | |||
148 | ” | right double quotation mark | |||
149 | • | bullet | |||
150 | – | en dash | |||
151 | — | em dash | |||
152 | ˜ | small tilde | |||
153 | ™ | trade mark sign | |||
154 | š | Latin small letter s with caron | |||
155 | › | single right-pointing angle quotation mark | |||
156 | œ | Latin small ligature oe | |||
157 | | | | không sử dụng | |
158 | ž | Latin small letter z with caron | |||
159 | Ÿ | Latin capital letter Y with diaeresis | |||
160 | no-break space | ||||
161 | ¡ | ¡ | ¡ | inverted exclamation mark | |
162 | ¢ | ¢ | ¢ | cent sign | |
163 | £ | £ | £ | pound sign | |
164 | ¤ | ¤ | ¤ | currency sign | |
165 | ¥ | ¥ | ¥ | yen sign | |
166 | ¦ | ¦ | ¦ | broken bar | |
167 | § | § | § | section sign | |
168 | ¨ | ¨ | ¨ | diaeresis | |
169 | © | © | © | copyright sign | |
170 | ª | ª | ª | feminine ordinal indicator | |
171 | « | « | « | left-pointing double angle quotation mark | |
172 | ¬ | ¬ | ¬ | not sign | |
173 | soft hyphen | ||||
174 | ® | ® | ® | registered sign | |
175 | ¯ | ¯ | ¯ | macron | |
176 | ° | ° | ° | degree sign | |
177 | ± | ± | ± | plus-minus sign | |
178 | ² | ² | ² | superscript two | |
179 | ³ | ³ | ³ | superscript three | |
180 | ´ | ´ | ´ | acute accent | |
181 | µ | µ | µ | micro sign | |
182 | ¶ | ¶ | ¶ | pilcrow sign | |
183 | · | · | · | middle dot | |
184 | ¸ | ¸ | ¸ | cedilla | |
185 | ¹ | ¹ | ¹ | superscript one | |
186 | º | º | º | masculine ordinal indicator | |
187 | » | » | » | right-pointing double angle quotation mark | |
188 | ¼ | ¼ | ¼ | vulgar fraction one quarter | |
189 | ½ | ½ | ½ | vulgar fraction one half | |
190 | ¾ | ¾ | ¾ | vulgar fraction three quarters | |
191 | ¿ | ¿ | ¿ | inverted question mark | |
192 | À | À | À | Latin capital letter A with grave | |
193 | Á | Á | Á | Latin capital letter A with acute | |
194 | Â | Â | Â | Latin capital letter A with circumflex | |
195 | Ã | Ã | Ã | Latin capital letter A with tilde | |
196 | Ä | Ä | Ä | Latin capital letter A with diaeresis | |
197 | Å | Å | Å | Latin capital letter A with ring above | |
198 | Æ | Æ | Æ | Latin capital letter AE | |
199 | Ç | Ç | Ç | Latin capital letter C with cedilla | |
200 | È | È | È | Latin capital letter E with grave | |
201 | É | É | É | Latin capital letter E with acute | |
202 | Ê | Ê | Ê | Latin capital letter E with circumflex | |
203 | Ë | Ë | Ë | Latin capital letter E with diaeresis | |
204 | Ì | Ì | Ì | Latin capital letter I with grave | |
205 | Í | Í | Í | Latin capital letter I with acute | |
206 | Î | Î | Î | Latin capital letter I with circumflex | |
207 | Ï | Ï | Ï | Latin capital letter I with diaeresis | |
208 | Ð | Ð | Ð | Latin capital letter Eth | |
209 | Ñ | Ñ | Ñ | Latin capital letter N with tilde | |
210 | Ò | Ò | Ò | Latin capital letter O with grave | |
211 | Ó | Ó | Ó | Latin capital letter O with acute | |
212 | Ô | Ô | Ô | Latin capital letter O with circumflex | |
213 | Õ | Õ | Õ | Latin capital letter O with tilde | |
214 | Ö | Ö | Ö | Latin capital letter O with diaeresis | |
215 | × | × | × | multiplication sign | |
216 | Ø | Ø | Ø | Latin capital letter O with stroke | |
217 | Ù | Ù | Ù | Latin capital letter U with grave | |
218 | Ú | Ú | Ú | Latin capital letter U with acute | |
219 | Û | Û | Û | Latin capital letter U with circumflex | |
220 | Ü | Ü | Ü | Latin capital letter U with diaeresis | |
221 | Ý | Ý | Ý | Latin capital letter Y with acute | |
222 | Þ | Þ | Þ | Latin capital letter Thorn | |
223 | ß | ß | ß | Latin small letter sharp s | |
224 | à | à | à | Latin small letter a with grave | |
225 | á | á | á | Latin small letter a with acute | |
226 | â | â | â | Latin small letter a with circumflex | |
227 | ã | ã | ã | Latin small letter a with tilde | |
228 | ä | ä | ä | Latin small letter a with diaeresis | |
229 | å | å | å | Latin small letter a with ring above | |
230 | æ | æ | æ | Latin small letter ae | |
231 | ç | ç | ç | Latin small letter c with cedilla | |
232 | è | è | è | Latin small letter e with grave | |
233 | é | é | é | Latin small letter e with acute | |
234 | ê | ê | ê | Latin small letter e with circumflex | |
235 | ë | ë | ë | Latin small letter e with diaeresis | |
236 | ì | ì | ì | Latin small letter i with grave | |
237 | í | í | í | Latin small letter i with acute | |
238 | î | î | î | Latin small letter i with circumflex | |
239 | ï | ï | ï | Latin small letter i with diaeresis | |
240 | ð | ð | ð | Latin small letter eth | |
241 | ñ | ñ | ñ | Latin small letter n with tilde | |
242 | ò | ò | ò | Latin small letter o with grave | |
243 | ó | ó | ó | Latin small letter o with acute | |
244 | ô | ô | ô | Latin small letter o with circumflex | |
245 | õ | õ | õ | Latin small letter o with tilde | |
246 | ö | ö | ö | Latin small letter o with diaeresis | |
247 | ÷ | ÷ | ÷ | division sign | |
248 | ø | ø | ø | Latin small letter o with stroke | |
249 | ù | ù | ù | Latin small letter u with grave | |
250 | ú | ú | ú | Latin small letter u with acute | |
251 | û | û | û | Latin small letter with circumflex | |
252 | ü | ü | ü | Latin small letter u with diaeresis | |
253 | ý | ý | ý | Latin small letter y with acute | |
254 | þ | þ | þ | Latin small letter thorn | |
255 | ÿ | ÿ | ÿ | Latin small letter y with diaeresis |
Bộ kí tự ASCII
ASCII dùng giá trị từ 0 tới 31 (và 127) để kiểm soát các kí tự, từ 32 tới 126 cho các chữ cái, chữ số và biểu tượng. ASCII không dùng các giá trị và 128 tới 255.
Bộ kí tự ANSI (Windows-1252)
ANSI giống ASCII với các giá trị từ 0 tới 127, có thêm các kí tự giá trị từ 128 tới 159, giống với UTF-8 ở các giá trị từ 160 tới 255.
Bộ kí tự ISO-8859-1
8859-1 giống với ASCII ở các giá trị từ 0 tới 127, không dùng các giá trị từ 128 tới 159, giống UTF-8 ở các giá trị từ 160 tới 255.
Bộ kí tự UTF-8
UTF-8 giống ASCII ở các giá trị từ 0 tới 127, không dùng các giá trị từ 128 tới 159, giống cả ANSI và 8859-1 ở các giá trị từ 160 tới 255, tiếp nối các giá trị từ 256 với hơn 10.000 kí tự khác.
Quy tắc @charset trong CSS
Có thể dùng quy tắc @charset trong CSS để xác định cách mã hóa kí tự dùng trong tập tin style sheet. Ví dụ dưới đây chọn kiểu Unicode UTF-8 cho trang.
@charset "UTF-8";
Bài trước: Biểu tượng trong HTML
Bài sau: Uniform Resource Locators trong HTML