UTF-8 ¹®ÀÚ¼ÂÀ» »ç¿ëÇÏ´Â HTML ÆäÀÌÁö¿¡¼ EUC-KR ¹®ÀÚ¼ÂÀ» »ç¿ëÇÏ´Â HTML ÆäÀÌÁö·Î Æû µ¥ÀÌÅÍ Àü¼ÛÀ» Çϸé, ¿ø·¡ ÀǵµÇß´ø ±ÛÀÚ°¡ ¾Æ´Ñ Çر«ÇÑ ¹®ÀÚ°¡ ³ªÅ¸³³´Ï´Ù.
¹°·Ð, EUC-KR ÆäÀÌÁö¿¡¼ UTF-8 ÆäÀÌÁö·Î º¸³¾ ¶§µµ ¸¶Âù°¡Áö Çö»óÀÌ ³ªÅ¸³³´Ï´Ù(ÃâÇöÇÏ´Â ¿Ü°è¾î´Â ´Ù¸£°Ú±º¿ä).
ÇÏÁö¸¸, ÇØ°áÇÒ ¹æ¹ýÀº ÀÖ½À´Ï´Ù. HTML ½ºÆå¿¡´Â ÀÌ·± »óȲÀ» À§ÇØ
ű׿¡ accept-charset À̶ó´Â ¼Ó¼ºÀ» ÁغñÇصξú½À´Ï´Ù. Á¤È®ÇÑ ¿ëµµ´Â "ÀԷ¹ÞÀº µ¥ÀÌÅ͸¦ ¼¹ö¿¡¼ ´Ù·ç°Å³ª ó¸®ÇÒ ¼ö ÀÖ´Â ¹®ÀÚ¼Â"À» ÁöÁ¤ÇÏ´Â °Í¿¡ ÀÖ½À´Ï´Ù. ´Ù½Ã ¸»ÇØ, ¼¹ö¿¡¼ Çã¿ëÇÏ´Â ¹®ÀÚ¼ÂÀ» ÁöÁ¤ÇÔÀ¸·Î½á, ºê¶ó¿ìÀú°¡ ÇöÀçÀÇ µ¥ÀÌÅ͸¦ ÇØ´ç ¹®ÀÚ¼ÂÀ¸·Î º¯È¯Çؼ º¸³»µµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù.
ÀÌÂë¿¡¼ "ÀÌÁ¦ µÆ´Ù"¶ó°í »ý°¢ÇÏ½Ç ºÐÀÌ °è½Ã°ÚÁö¸¸, ¾ÈŸ±õ°Ôµµ ¿ì¸®ÀÇ ¿¬·ÎÇϽŠInternet Explorer ´Â accept-charset À» Á¦´ë·Î ÀνÄÇÏÁö ¸øÇÕ´Ï´Ù. Á¤È®ÇÏ°Ô´Â ¼Ó¼ºÀ¸·Îµµ »ç¿ëÇÒ ¼ö ÀÖ°í, ÀÚ¹Ù½ºÅ©¸³Æ®·Îµµ Àаųª ¾µ ¼ö ÀÖÁö¸¸ Áö¿øÇÏ´Â ¹®ÀÚ¼ÂÀÌ ¾ÆÁÖ ÇÑÁ¤ÀûÀÔ´Ï´Ù. sitepoint ¿¡¼´Â ÀÌ ¼Ó¼º¿¡ ´ëÇÑ IEÀÇ Áö¿øÀ» Buggy(¹ö±×°¡ ¸¹Àº)¶ó°í űëÇصξú½À´Ï´Ù. ÇÑÁ¤ÀûÀÎ ¹®Àڼ¿¡ ¿ì¸®°¡ ¸¹ÀÌ »ç¿ëÇÏ´Â euc-krÀ̳ª utf-8Àº Æ÷ÇÔµÇÁö ¾ÊÀ¸¹Ç·Î, °á±¹ ´Ù¸¥ ¹æ¹ýÀ» ã¾Æ¾ß ÇÕ´Ï´Ù.
ÀÏ´Ü IE¸¦ Á¦¿ÜÇÑ Firefox, Google Chrome, Safari, Opera µîÀÇ ºê¶ó¿ìÀú´Â ÀÌ ¼Ó¼ºÀ» Àß Áö¿øÇϹǷΠÀÌµé ºê¶ó¿ìÀú¸¦ À§ÇØ form ¿¡ ´ÙÀ½°ú °°ÀÌ ¼Ó¼ºÀ» Ç¥½ÃÇÕ´Ï´Ù.
<form ... accept-charset
=
"¼¹ö·Î º¸³¾ ÀÎÄÚµù"
>
¼¹ö·Î º¸³¾ ÀÎÄÚµù ºÎºÐÀº ÇöÀç ¹®¼ÀÇ ¹®Àڼ°ú »ó°ü¾øÀÌ µ¥ÀÌÅ͸¦ ¼¹öÃø¿¡ ¾î¶² ¹®ÀÚ¼ÂÀ¸·Î º¸³¾ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, UTF-8 ÆäÀÌÁö¿¡¼ EUC-KR ÆäÀÌÁö·Î Æû Àü¼ÛÀ» ÇÑ´Ù°í Çϸé euc-kr ȤÀº EUC-KR À̶ó°í ÀÔ·ÂÇÏ¸é µË´Ï´Ù.
ÀÌÁ¦ IE¸¦ À§ÇÑ Ã³¸®¸¦ ÇØÁÖ´Â ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
function emulAcceptCharset
(form) {
if (form.canHaveHTML) {
document.charset = form.acceptCharset;
}
return true
;
}
ÀÌÁ¦ ÀÌ ÇÔ¼ö¸¦ onsubmit À̺¥Æ®¿¡ ÇÒ´çÇÕ´Ï´Ù. ÀÌ ½ÃÁ¡¿¡¼´Â return true; °¡ ÇÊ¿äÇÏÁö ¾ÊÁö¸¸ Æ÷ÇԵǾî Àִµ¥, ±× ÀÌÀ¯°¡ °ð ³ªÅ¸³³´Ï´Ù.
<form ... accept-charset
=
"¼¹ö·Î º¸³¾ ÀÎÄÚµù"
onsubmit
=
"emulAcceptCharset(this)"
>
º¸ÅëÀº ¿©±â¼ ³¡ÀÌÁö¸¸, Æû °Ë»ç±â(form validator)¸¦ »ç¿ëÇϽô ºÐµé Áß¿¡´Â ¾î´À ½ÃÁ¡¿¡ ÀÌ ÇÔ¼ö¸¦ Æ÷ÇÔ½ÃÄÑ¾ß ÇÒÁö È¥¶õ½º·¯¿ï ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÇÔ¼ö´Â Ç×»ó submit Çڵ鷯ÀÇ °¡Àå ¸¶Áö¸·¿¡ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù. µû¶ó¼, ¸¸¾à ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â Æû °Ë»ç±âÀÇ ÇÔ¼ö À̸§ÀÌ validate ¶ó°í ÇÑ´Ù¸é, ´ÙÀ½°ú °°Àº ÇüÅ·Π»ç¿ëÇÏ½Ã¸é µË´Ï´Ù.
<form ... accept-charset
=
"¼¹ö·Î º¸³¾ ÀÎÄÚµù"
onsubmit
=
"return validate(this) && emulAccpetCharest(this)"
>
validate(this) ºÎºÐÀº »ç¿ëÇϽô Æû °Ë»ç±â¿¡ µû¶ó ´Þ¶óÁ®¾ß ÇÔÀ» ÁÖÀÇÇϽñ⠹ٶø´Ï´Ù.
ÀÌ ½ºÅ©¸³Æ®´Â Firefox 1+, Safari 1.3+, Chrome 1+, Opera 9.2+, IE 5.5+ ¿¡¼ »ç¿ë°¡´ÉÇÕ´Ï´Ù.
Ãâó : https://taegon.kim/archives/1692
|