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">

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

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

NumbASCIIANSI8859UTF-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 ตัว