HTML Encoding (Character Sets)


เพื่อให้หน้าเพจ 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">

ความแตกต่างระหว่างชุดตัวอักขระ

ตารางต่อไปนี้เป็นตารางแสดงความแตกต่างของชุดอักขระแต่ละเแบบ

NumberASCIIANSI8859UTF-8คำอธิบาย
32ช่องว่าง
33!!!!เครื่องหมายอัศเจรีย์ หรือเครื่องหมายตกใจ
34เครื่องหมายคำพูด
35####เครื่องหมายตัวเลข
36$$$$เครื่องหมายดอลล่าร์
37%%%%เครื่องหมายเปอร์เซนต์
38&&&&เครื่องหมายแอนด์
39เครื่องหมายอัญญประกาศเดี่ยว
40((((วงเล็บเปิด
41))))วงเล็บปิด
42****เครื่องหมายดอกจัน
43++++เครื่องหมายบวก
44,,,,เครื่องหมายคอมมา
45ขีดกลางหรือยติภังค์
46....จุด
47////เครื่องหมายทับ
480000เลข 0
491111เลข 1
502222เลข 2
513333เลข 3
524444เลข 4
535555เลข 5
546666เลข 6
557777เลข 7
568888เลข 8
579999เลข 9
58::::เครื่องหมายทวิภาคหรือ โคลอน
59;;;;เครื่องหมายอัฒภาค
60<<<<เครื่องหมายน้อยกว่า
61====เครื่องหมายเท่ากับ
62>>>>เครื่องหมายมากกว่า
63????เครื่องหมายคำถาม
64@@@@เครื่องหมาย At
65AAAAตัวอักษรลาตินตัว A ใหญ่
66BBBBตัวอักษรลาตินตัว B ใหญ่
67CCCCตัวอักษรลาตินตัว C ใหญ่
68DDDDตัวอักษรลาตินตัว D ใหญ่
69EEEEตัวอักษรลาตินตัว E ใหญ่
70FFFFตัวอักษรลาตินตัว F ใหญ่
71GGGGตัวอักษรลาตินตัว G ใหญ่
72HHHHตัวอักษรลาตินตัว H ใหญ่
73IIIIตัวอักษรลาตินตัว I ใหญ่
74JJJJตัวอักษรลาตินตัว J ใหญ่
75KKKKตัวอักษรลาตินตัว K ใหญ่
76LLLLตัวอักษรลาตินตัว L ใหญ่
77MMMMตัวอักษรลาตินตัว M ใหญ่
78NNNNตัวอักษรลาตินตัว N ใหญ่
79OOOOตัวอักษรลาตินตัว O ใหญ่
80PPPPตัวอักษรลาตินตัว P ใหญ่
81QQQQตัวอักษรลาตินตัว Q ใหญ่
82RRRRตัวอักษรลาตินตัว R ใหญ่
83SSSSตัวอักษรลาตินตัว S ใหญ่
84TTTTตัวอักษรลาตินตัว T ใหญ่
85UUUUตัวอักษรลาตินตัว U ใหญ่
86VVVVตัวอักษรลาตินตัว V ใหญ่
87WWWWตัวอักษรลาตินตัว W ใหญ่
88XXXXตัวอักษรลาตินตัว X ใหญ่
89YYYYตัวอักษรลาตินตัว Y ใหญ่
90ZZZZตัวอักษรลาตินตัว X ใหญ่
91[[[[เคร่ื่องหมายวงเล็บเหลี่ยมเปิด
92\\\\เครื่องหมาย Backslash
93]]]]เคร่ื่องหมายวงเล็บเหลี่ยมปิด
94^^^^เครื่องหมายที่อยู่บนสระเพื่อแสดงการออกเสียงในบางภาษา
95____เครื่องหมาย Under Score
96````เครื่องหมายเกรฟ
97aaaaตัวอักษรลาตินตัว a เล็ก
98bbbbตัวอักษรลาตินตัว b เล็ก
99ccccตัวอักษรลาตินตัว c เล็ก
100ddddตัวอักษรลาตินตัว d เล็ก
101eeeeตัวอักษรลาตินตัว e เล็ก
102ffffตัวอักษรลาตินตัว f เล็ก
103ggggตัวอักษรลาตินตัว g เล็ก
104hhhhตัวอักษรลาตินตัว h เล็ก
105iiiiตัวอักษรลาตินตัว i เล็ก
106jjjjตัวอักษรลาตินตัว j เล็ก
107kkkkตัวอักษรลาตินตัว k เล็ก
108llllตัวอักษรลาตินตัว l เล็ก
109mmmmตัวอักษรลาตินตัว m เล็ก
110nnnnตัวอักษรลาตินตัว n เล็ก
111ooooตัวอักษรลาตินตัว o เล็ก
112ppppตัวอักษรลาตินตัว p เล็ก
113qqqqตัวอักษรลาตินตัว q เล็ก
114rrrrตัวอักษรลาตินตัว r เล็ก
115ssssตัวอักษรลาตินตัว s เล็ก
116ttttตัวอักษรลาตินตัว t เล็ก
117uuuuตัวอักษรลาตินตัว u เล็ก
118vvvvตัวอักษรลาตินตัว v เล็ก
119wwwwตัวอักษรลาตินตัว w เล็ก
120xxxxตัวอักษรลาตินตัว x เล็ก
121yyyyตัวอักษรลาตินตัว y เล็ก
122zzzzตัวอักษรลาตินตัว z เล็ก
123{{{{เครื่องหมายปีกกาเปิด
124||||เครื่องหมายเส้นดิ่ง
125}}}}เครื่องหมายปีกกาปิด
126~~~~ตัวหนอน
127DEL    
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 ตัว