เพื่อให้หน้าเพจ HTML แสดงผลได้ถูกต้อง จึงต้องบอกให้ Web Browser ให้รู้ว่าหน้าเพจนั้นใช้ชุดอักขระ หรือ Character Set อะไร
จาก ASCII จนถึง UTF-8
ASCII เป็นตัวอักขระเข้ารหัสมาตรฐานตัวแรก โดยจะมีตัวอักขระที่แตกต่างกันถึง 128 ตัว ที่สามารถนำมาใช้ได้บนอินเทอร์เน็ต อักขระเหล่านี้ได้แก่ ตัวเลข (0-9), ตัวอักษรภาษาอังกฤษ (A-Z) และตัวขระพิเศษ เช่น !, $, +, -, ( ), @, <, และ >
ISO-8859-1 เป็นชุดอักษระเริ่มต้นของ HTML 4 โดยจะมีอักขระที่ใช้งานจำนวน 256 ตัว นอกจากนี้ HTML 4 ยังรองรับการใช้งาน UTF-8
ANSI (Windows-1252) เป็นชุดอักขระดั้งเดิมสำหรับ Windows ANSI นั้นก็เหมือนกับ ISO-8859-1 เพียงแต่ ANSI จะมีตัวอักขระเพียง 32 ตัว
ใน HTML 5 นั้นได้มีการรองรับการใช้งาน UTF-8 ซึ่งช่วยให้นักพัฒนาเว็บไซต์สามารถใช้ตัวอักขระและสัญลักษณ์ได้เกือบทั้งหมดเท่าที่มีบนโลกได้
Attribute ชุดตัวอักขระของ HTML
เพื่อให้หน้าเว็บ HTML แสดงผลได้ถูกต้อง เว็บเบราว์เซอร์จึงจำเป็นจะต้องทราบชุดตัวอักขระที่ใช้งานในเพจ โดยจะต้อมีการระบุชุดตัวอักขระลงใน Tag <meta>
<meta charset="UTF-8">
ความแตกต่างระหว่างชุดตัวอักขระ
ตารางต่อไปนี้เป็นตารางแสดงความแตกต่างของชุดอักขระแต่ละเแบบ
| Number | ASCII | ANSI | 8859 | UTF-8 | คำอธิบาย |
|---|---|---|---|---|---|
| 32 | ช่องว่าง | ||||
| 33 | ! | ! | ! | ! | เครื่องหมายอัศเจรีย์ หรือเครื่องหมายตกใจ |
| 34 | “ | “ | “ | “ | เครื่องหมายคำพูด |
| 35 | # | # | # | # | เครื่องหมายตัวเลข |
| 36 | $ | $ | $ | $ | เครื่องหมายดอลล่าร์ |
| 37 | % | % | % | % | เครื่องหมายเปอร์เซนต์ |
| 38 | & | & | & | & | เครื่องหมายแอนด์ |
| 39 | ‘ | ‘ | ‘ | ‘ | เครื่องหมายอัญญประกาศเดี่ยว |
| 40 | ( | ( | ( | ( | วงเล็บเปิด |
| 41 | ) | ) | ) | ) | วงเล็บปิด |
| 42 | * | * | * | * | เครื่องหมายดอกจัน |
| 43 | + | + | + | + | เครื่องหมายบวก |
| 44 | , | , | , | , | เครื่องหมายคอมมา |
| 45 | – | – | – | – | ขีดกลางหรือยติภังค์ |
| 46 | . | . | . | . | จุด |
| 47 | / | / | / | / | เครื่องหมายทับ |
| 48 | 0 | 0 | 0 | 0 | เลข 0 |
| 49 | 1 | 1 | 1 | 1 | เลข 1 |
| 50 | 2 | 2 | 2 | 2 | เลข 2 |
| 51 | 3 | 3 | 3 | 3 | เลข 3 |
| 52 | 4 | 4 | 4 | 4 | เลข 4 |
| 53 | 5 | 5 | 5 | 5 | เลข 5 |
| 54 | 6 | 6 | 6 | 6 | เลข 6 |
| 55 | 7 | 7 | 7 | 7 | เลข 7 |
| 56 | 8 | 8 | 8 | 8 | เลข 8 |
| 57 | 9 | 9 | 9 | 9 | เลข 9 |
| 58 | : | : | : | : | เครื่องหมายทวิภาคหรือ โคลอน |
| 59 | ; | ; | ; | ; | เครื่องหมายอัฒภาค |
| 60 | < | < | < | < | เครื่องหมายน้อยกว่า |
| 61 | = | = | = | = | เครื่องหมายเท่ากับ |
| 62 | > | > | > | > | เครื่องหมายมากกว่า |
| 63 | ? | ? | ? | ? | เครื่องหมายคำถาม |
| 64 | @ | @ | @ | @ | เครื่องหมาย At |
| 65 | A | A | A | A | ตัวอักษรลาตินตัว A ใหญ่ |
| 66 | B | B | B | B | ตัวอักษรลาตินตัว B ใหญ่ |
| 67 | C | C | C | C | ตัวอักษรลาตินตัว C ใหญ่ |
| 68 | D | D | D | D | ตัวอักษรลาตินตัว D ใหญ่ |
| 69 | E | E | E | E | ตัวอักษรลาตินตัว E ใหญ่ |
| 70 | F | F | F | F | ตัวอักษรลาตินตัว F ใหญ่ |
| 71 | G | G | G | G | ตัวอักษรลาตินตัว G ใหญ่ |
| 72 | H | H | H | H | ตัวอักษรลาตินตัว H ใหญ่ |
| 73 | I | I | I | I | ตัวอักษรลาตินตัว I ใหญ่ |
| 74 | J | J | J | J | ตัวอักษรลาตินตัว J ใหญ่ |
| 75 | K | K | K | K | ตัวอักษรลาตินตัว K ใหญ่ |
| 76 | L | L | L | L | ตัวอักษรลาตินตัว L ใหญ่ |
| 77 | M | M | M | M | ตัวอักษรลาตินตัว M ใหญ่ |
| 78 | N | N | N | N | ตัวอักษรลาตินตัว N ใหญ่ |
| 79 | O | O | O | O | ตัวอักษรลาตินตัว O ใหญ่ |
| 80 | P | P | P | P | ตัวอักษรลาตินตัว P ใหญ่ |
| 81 | Q | Q | Q | Q | ตัวอักษรลาตินตัว Q ใหญ่ |
| 82 | R | R | R | R | ตัวอักษรลาตินตัว R ใหญ่ |
| 83 | S | S | S | S | ตัวอักษรลาตินตัว S ใหญ่ |
| 84 | T | T | T | T | ตัวอักษรลาตินตัว T ใหญ่ |
| 85 | U | U | U | U | ตัวอักษรลาตินตัว U ใหญ่ |
| 86 | V | V | V | V | ตัวอักษรลาตินตัว V ใหญ่ |
| 87 | W | W | W | W | ตัวอักษรลาตินตัว W ใหญ่ |
| 88 | X | X | X | X | ตัวอักษรลาตินตัว X ใหญ่ |
| 89 | Y | Y | Y | Y | ตัวอักษรลาตินตัว Y ใหญ่ |
| 90 | Z | Z | Z | Z | ตัวอักษรลาตินตัว X ใหญ่ |
| 91 | [ | [ | [ | [ | เคร่ื่องหมายวงเล็บเหลี่ยมเปิด |
| 92 | \ | \ | \ | \ | เครื่องหมาย Backslash |
| 93 | ] | ] | ] | ] | เคร่ื่องหมายวงเล็บเหลี่ยมปิด |
| 94 | ^ | ^ | ^ | ^ | เครื่องหมายที่อยู่บนสระเพื่อแสดงการออกเสียงในบางภาษา |
| 95 | _ | _ | _ | _ | เครื่องหมาย Under Score |
| 96 | ` | ` | ` | ` | เครื่องหมายเกรฟ |
| 97 | a | a | a | a | ตัวอักษรลาตินตัว a เล็ก |
| 98 | b | b | b | b | ตัวอักษรลาตินตัว b เล็ก |
| 99 | c | c | c | c | ตัวอักษรลาตินตัว c เล็ก |
| 100 | d | d | d | d | ตัวอักษรลาตินตัว d เล็ก |
| 101 | e | e | e | e | ตัวอักษรลาตินตัว e เล็ก |
| 102 | f | f | f | f | ตัวอักษรลาตินตัว f เล็ก |
| 103 | g | g | g | g | ตัวอักษรลาตินตัว g เล็ก |
| 104 | h | h | h | h | ตัวอักษรลาตินตัว h เล็ก |
| 105 | i | i | i | i | ตัวอักษรลาตินตัว i เล็ก |
| 106 | j | j | j | j | ตัวอักษรลาตินตัว j เล็ก |
| 107 | k | k | k | k | ตัวอักษรลาตินตัว k เล็ก |
| 108 | l | l | l | l | ตัวอักษรลาตินตัว l เล็ก |
| 109 | m | m | m | m | ตัวอักษรลาตินตัว m เล็ก |
| 110 | n | n | n | n | ตัวอักษรลาตินตัว n เล็ก |
| 111 | o | o | o | o | ตัวอักษรลาตินตัว o เล็ก |
| 112 | p | p | p | p | ตัวอักษรลาตินตัว p เล็ก |
| 113 | q | q | q | q | ตัวอักษรลาตินตัว q เล็ก |
| 114 | r | r | r | r | ตัวอักษรลาตินตัว r เล็ก |
| 115 | s | s | s | s | ตัวอักษรลาตินตัว s เล็ก |
| 116 | t | t | t | t | ตัวอักษรลาตินตัว t เล็ก |
| 117 | u | u | u | u | ตัวอักษรลาตินตัว u เล็ก |
| 118 | v | v | v | v | ตัวอักษรลาตินตัว v เล็ก |
| 119 | w | w | w | w | ตัวอักษรลาตินตัว w เล็ก |
| 120 | x | x | x | x | ตัวอักษรลาตินตัว x เล็ก |
| 121 | y | y | y | y | ตัวอักษรลาตินตัว y เล็ก |
| 122 | z | z | z | z | ตัวอักษรลาตินตัว z เล็ก |
| 123 | { | { | { | { | เครื่องหมายปีกกาเปิด |
| 124 | | | | | | | | | เครื่องหมายเส้นดิ่ง |
| 125 | } | } | } | } | เครื่องหมายปีกกาปิด |
| 126 | ~ | ~ | ~ | ~ | ตัวหนอน |
| 127 | DEL | ||||
| 128 | € | เครื่องหมายยูโร | |||
| 129 | | | | ไม่ใช้ | |
| 130 | ‚ | เครื่องหมายอัญประกาศอันเดียวแบบ Low-9 | |||
| 131 | ƒ | ตัวอักษรลาติน f เล็กแบบ Hook | |||
| 132 | „ | เครื่องหมายอัญประกาศคู่แบบ Low-9 | |||
| 133 | … | จุดไข่ปลา | |||
| 134 | † | เครื่องหมายกริช | |||
| 135 | ‡ | เครื่องหมายกริชคู่ | |||
| 136 | ˆ | ตัวปรับเปลี่ยนตัวอักษร | |||
| 137 | ‰ | เครื่องหมายต่อพัน | |||
| 138 | Š | ตัวอักษรลาตินใหญ่ S ที่มี Caron | |||
| 139 | ‹ | เครื่องหมายชี้ไปทางซ้ายทางเดียว | |||
| 140 | Œ | ตัวอักษรลาตินใหญ่ OE | |||
| 141 | | | | ไม่ได้ใช้ | |
| 142 | Ž | ตัวอักษรลาตินใหญ่ Z ที่มี Caron | |||
| 143 | | | | ไม่ได้ใช้ | |
| 144 | | | | ไม่ได้ใช้ | |
| 145 | ‘ | เคร่ื่องหมายอัญประกาศเดี่ยวด้านซ้าย | |||
| 146 | ’ | เคร่ื่องหมายอัญประกาศเดี่ยวด้านขวา | |||
| 147 | “ | เครื่องหมายคำพูดด้านซ้าย | |||
| 148 | ” | เครื่องหมายคำพูดด้านขวา | |||
| 149 | • | เครื่องหมายหน้าหัวข้อ | |||
| 150 | – | ยัติภาค En Dash | |||
| 151 | — | ยัติภาค Em Dash | |||
| 152 | ˜ | Small Tilde | |||
| 153 | ™ | เครื่องหมายการค้า หรือ Trade Mark Sign | |||
| 154 | š | ตัวอักษรลาตินเล็ก s ที่มี Caron | |||
| 155 | › | เครื่องหมายชี้ไปทางขวาทางเดียว | |||
| 156 | œ | ตัวอักษรลาตินเล็ก oe | |||
| 157 | | | | ไม่ได้ใช้ | |
| 158 | ž | ตัวอักษรลาตินเล็ก z ที่มี Caron | |||
| 159 | Ÿ | ตัวอักษรลาตินใหญ่ Y ที่มี Diaeresis | |||
| 160 | ช่องว่างแบบไม่ตัดคำ หรือ No-break Space | ||||
| 161 | ¡ | ¡ | ¡ | เครื่องหมายตกใจกลับด้าน หรือ Inverted Exclamation Mark | |
| 162 | ¢ | ¢ | ¢ | สัญลักษณ์สกุลเงินเซนต์ | |
| 163 | £ | £ | £ | สัญลักษณ์สกุลเงินปอนด์ | |
| 164 | ¤ | ¤ | ¤ | สัญลักษณ์สกุลเงิน | |
| 165 | ¥ | ¥ | ¥ | สัญลักษณ์สกุลเงินเยน | |
| 166 | ¦ | ¦ | ¦ | สัญลักษณ์ Broken Bar | |
| 167 | § | § | § | สัญลักษณ์ส่วน, เครื่องหมายส่วน, ดับเบิล s หรือ Section Sign | |
| 168 | ¨ | ¨ | ¨ | เครื่องหมายกำกับเสียง | |
| 169 | © | © | © | สัญลักษณ์ลิขสิทธิ์ | |
| 170 | ª | ª | ª | Feminine Ordinal Indicator | |
| 171 | « | « | « | เครื่องหมายชี้ไปทางซ้ายคู่ | |
| 172 | ¬ | ¬ | ¬ | Not Sign | |
| 173 | | | | ยัติภังค์เผื่อเลือก | |
| 174 | ® | ® | ® | เครื่องหมายการค้าจดทะเบียน | |
| 175 | ¯ | ¯ | ¯ | เส้นเครื่องหมายแสดงเสียงยาว | |
| 176 | ° | ° | ° | เครื่องหมายองศา | |
| 177 | ± | ± | ± | เครื่องหมายบวกลบ | |
| 178 | ² | ² | ² | ยกกำลังสอง | |
| 179 | ³ | ³ | ³ | ยกกำลังสาม | |
| 180 | ´ | ´ | ´ | เครื่องหมายขีด หรือ Acute Accent | |
| 181 | µ | µ | µ | สัญลักษณ์มิว หรือ Micro Sign | |
| 182 | ¶ | ¶ | ¶ | เครื่องหมายวรรค หรือ Pilcrow Sign | |
| 183 | · | · | · | Middle Dot | |
| 184 | ¸ | ¸ | ¸ | สัญลักษณ์ Cedilla | |
| 185 | ¹ | ¹ | ¹ | ยกกำลัง 1 | |
| 186 | º | º | º | สัญลักษณ์ Masculine Ordinal Indicator | |
| 187 | » | » | » | เครื่องหมายชี้ไปทางขวาคู่ | |
| 188 | ¼ | ¼ | ¼ | เศษส่วน เศษ 1 ส่วน 4 | |
| 189 | ½ | ½ | ½ | เศษส่วน เศษ 1 ส่วน 2 | |
| 190 | ¾ | ¾ | ¾ | เศษส่วน เศษ 3 ส่วน 4 | |
| 191 | ¿ | ¿ | ¿ | เครื่องหมายคำถามกลับหัว | |
| 192 | À | À | À | ตัวอักษรลาตินใหญ่ A ที่มี Grave | |
| 193 | Á | Á | Á | ตัวอักษรลาตินใหญ่ A ที่มี Acute | |
| 194 | Â | Â | Â | ตัวอักษรลาตินใหญ่ A ที่มี Circumflex | |
| 195 | Ã | Ã | Ã | ตัวอักษรลาตินใหญ่ A ที่มี Tilde | |
| 196 | Ä | Ä | Ä | ตัวอักษรลาตินใหญ่ A ที่มี Diaeresis | |
| 197 | Å | Å | Å | ตัวอักษรลาตินใหญ่ A ที่มี Ring Above | |
| 198 | Æ | Æ | Æ | ตัวอักษรลาตินใหญ่ AE | |
| 199 | Ç | Ç | Ç | ตัวอักษรลาตินใหญ่ C ที่มี Cedilla | |
| 200 | È | È | È | ตัวอักษรลาตินใหญ่ E ที่มี Grave | |
| 201 | É | É | É | ตัวอักษรลาตินใหญ่ E ที่มี Acute | |
| 202 | Ê | Ê | Ê | ตัวอักษรลาตินใหญ่ E ที่มี Circumflex | |
| 203 | Ë | Ë | Ë | ตัวอักษรลาตินใหญ่ E ที่มี Diaeresis | |
| 204 | Ì | Ì | Ì | ตัวอักษรลาตินใหญ่ I ที่มี Grave | |
| 205 | Í | Í | Í | ตัวอักษรลาตินใหญ่ I ที่มี Acute | |
| 206 | Î | Î | Î | ตัวอักษรลาตินใหญ่ I ที่มี Circumflex | |
| 207 | Ï | Ï | Ï | ตัวอักษรลาตินใหญ่ I ที่มี Diaeresis | |
| 208 | Ð | Ð | Ð | ตัวอักษรลาตินใหญ่ Eth | |
| 209 | Ñ | Ñ | Ñ | ตัวอักษรลาตินใหญ่ N ที่มี Tilde | |
| 210 | Ò | Ò | Ò | ตัวอักษรลาตินใหญ่ O ที่มี Grave | |
| 211 | Ó | Ó | Ó | ตัวอักษรลาตินใหญ่ O ที่มี Acute | |
| 212 | Ô | Ô | Ô | ตัวอักษรลาตินใหญ่ O ที่มี Circumflex | |
| 213 | Õ | Õ | Õ | ตัวอักษรลาตินใหญ่ O ที่มี Tilde | |
| 214 | Ö | Ö | Ö | ตัวอักษรลาตินใหญ่ O ที่มี Diaeresis | |
| 215 | × | × | × | เครื่องหมายคูณ | |
| 216 | Ø | Ø | Ø | ตัวอักษรลาตินใหญ่ O ที่มี Stroke | |
| 217 | Ù | Ù | Ù | ตัวอักษรลาตินใหญ่ U ที่มี Grave | |
| 218 | Ú | Ú | Ú | ตัวอักษรลาตินใหญ่ U ที่มี Acute | |
| 219 | Û | Û | Û | ตัวอักษรลาตินใหญ่ U ที่มี Circumflex | |
| 220 | Ü | Ü | Ü | ตัวอักษรลาตินใหญ่ U ที่มี Diaeresis | |
| 221 | Ý | Ý | Ý | ตัวอักษรลาตินใหญ่ Y ที่มี Acute | |
| 222 | Þ | Þ | Þ | ตัวอักษรลาตินใหญ่ Thorn | |
| 223 | ß | ß | ß | ตัวอักษรลาตินเล็ก Sharp s | |
| 224 | à | à | à | ตัวอักษรลาตินเล็ก a ที่มี Grave | |
| 225 | á | á | á | ตัวอักษรลาตินเล็ก a ที่มี Acute | |
| 226 | â | â | â | ตัวอักษรลาตินเล็ก a ที่มี Circumflex | |
| 227 | ã | ã | ã | ตัวอักษรลาตินเล็ก a ที่มี Tilde | |
| 228 | ä | ä | ä | ตัวอักษรลาตินเล็ก a ที่มี Diaeresis | |
| 229 | å | å | å | ตัวอักษรลาตินเล็ก a ที่มี Ring อยู่ด้านบน | |
| 230 | æ | æ | æ | ตัวอักษรลาตินเล็ก ae | |
| 231 | ç | ç | ç | ตัวอักษรลาตินเล็ก c ที่มี Cedilla | |
| 232 | è | è | è | ตัวอักษรลาตินเล็ก e ที่มี Grave | |
| 233 | é | é | é | ตัวอักษรลาตินเล็ก e ที่มี Acute | |
| 234 | ê | ê | ê | ตัวอักษรลาตินเล็ก e ที่มี Circumflex | |
| 235 | ë | ë | ë | ตัวอักษรลาตินเล็ก e ที่มี Diaeresis | |
| 236 | ì | ì | ì | ตัวอักษรลาตินเล็ก i ที่มี Grave | |
| 237 | í | í | í | ตัวอักษรลาตินเล็ก i ที่มี Acute | |
| 238 | î | î | î | ตัวอักษรลาตินเล็ก i ที่มี Circumflex | |
| 239 | ï | ï | ï | ตัวอักษรลาตินเล็ก i ที่มี Diaeresis | |
| 240 | ð | ð | ð | ตัวอักษรลาตินเล็ก eth | |
| 241 | ñ | ñ | ñ | ตัวอักษรลาตินเล็ก n ที่มี Tilde | |
| 242 | ò | ò | ò | ตัวอักษรลาตินเล็ก o ที่มี Grave | |
| 243 | ó | ó | ó | ตัวอักษรลาตินเล็ก o ที่มี Acute | |
| 244 | ô | ô | ô | ตัวอักษรลาตินเล็ก o ที่มี Circumflex | |
| 245 | õ | õ | õ | ตัวอักษรลาตินเล็ก o ที่มี Tilde | |
| 246 | ö | ö | ö | ตัวอักษรลาตินเล็ก o ที่มี Diaeresis | |
| 247 | ÷ | ÷ | ÷ | เครื่องหมายหาร | |
| 248 | ø | ø | ø | ตัวอักษรลาตินเล็ก o ที่มี Stroke | |
| 249 | ù | ù | ù | ตัวอักษรลาตินเล็ก u ที่มี Grave | |
| 250 | ú | ú | ú | ตัวอักษรลาตินเล็ก u ที่มี Acute | |
| 251 | û | û | û | ตัวอักษรลาตินเล็ก u ที่มี Circumflex | |
| 252 | ü | ü | ü | Lตัวอักษรลาตินเล็ก u ที่มี Diaeresis | |
| 253 | ý | ý | ý | ตัวอักษรลาตินเล็ก y ที่มี Acute | |
| 254 | þ | þ | þ | ตัวอักษรลาตินเล็ก Thorn | |
| 255 | ÿ | ÿ | ÿ | ตัวอักษรลาตินเล็ก y ที่มี Diaeresis |
ชุดอักขระ ASCII
จากตารางด้านบนสรุปได้ดังนี้
ASCII จะใช้ค่าจาก 0 ถึง 31 (และ 127) จาก Console Character ซึ่งเป็นรหัสควบคุม ซึ่งแสดงผลไม่ได้
ASCII จะใช้ค่าจาก 32 ถึง 127 สำหรับ ตัวอักษร ตัวเลข และสัญลักษณ์ แสดงผลได้
ASCII จะไม่มีการใช้ค่าจาก 128 ถึง 255
ชุดอักขระ ANSI (Windows-1252)
สำหรับค่า 0 ถึง 127 ANSI นั้นจะเหมือนกับ ASCII
ANSI เป็นชุดอักขระที่มีค่าตั้งแต่ 128 ถึง 159
ANSI จะเหมือนกับ UTF-8 จะมีค่าตั้งแต่ 160 ถึง 255
ชุดอักขระ ISO-8859-1
ISO-8859-1 จะเหมือนกับ ASCII ซึ่งจะมีค่าตั้งแต่ 0 ถึง 127
แต่ ISO-8859-1 จะไม่ใช้ค่า 128 จนถึง 159
ISO-8859-1 จะเหมือนกับ UFT-8 คือจะมีค่าตั้งแต่ 160 ถึง 255
ชุดอักขระ UFT-8
UTF-8 จะใช้ค่า 0 ถึง 127 เหมือนกับ ASCII
UFT-8 จะไม่ใช้ค่า 128 ถึง 159
UFT-8 จะใช้ค่า 160 ถึง 255 ซึ่งจะเหมือนกับ ANSI และ 8859-1
ค่าของ UFT-8 จะเริ่มต้นตั้งแต่ 256 ซึ่งมีตัวอักขระที่แตกต่างกว่า 10,000 ตัว