ÀÚ¹Ù¿¡¼ »ç¿ëÇÏ´Â ÇѱÛÀº À¯´ÏÄÚµå ¹æ½ÄÀ» »ç¿ëÇÕ´Ï´Ù. UTF-16ÀÎÄÚµù ¹æ½ÄÀ¸·Î 2¹ÙÀÌÆ®¸¦ ÀÌ¿ëÇÏ¿© ÇϳªÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÕ´Ï´Ù. ¹®ÀÚ¸¦ ¹ÙÀÌÆ® ±× ÀÚü·Î ¹Þ¾Æ µéÀÌÁö ¾Ê°í ¹®ÀÚ¸¦ ¹Þ¾Æ µéÀ̸é ÀÚ¹Ù¿¡¼´Â ÀÚµ¿À¸·Î À¯´ÏÄÚµå Çü½ÄÀÇ ¹®ÀÚ¿ÀÌ µË´Ï´Ù. ¹°·Ð, ÀÚ¹Ù¿¡¼ »ç¿ëÇÏ´Â ÇÑ±Û ÀÎÄÚµù¹æ½ÄÀº À¯´ÏÄÚµå ¹æ½ÄÀÌÁö¸¸ ÀϹÝÀûÀÎ À¥¿¡¼´Â ´Ù¸¥ ÇÑ±Û ÀÎÄÚµù ¹æ½ÄÀ» »ç¿ëÇÕ´Ï´Ù. À¥¿¡¼ »ç¿ëÇÏ´Â ¹®ÀÚ¿ ÀÎÄÚµù¹æ½ÄÀº KSC5601 °ú EUC_KR (euc-kr) ÀÌ ÀÖ½À´Ï´Ù. »ç½Ç °°Àº ¹æ½ÄÀÌÁö¸¸ ¹Ì¹¦ÇÑ Â÷À̰¡ ÀÖ½À´Ï´Ù. ±× Â÷À̸¦ »ìÆìº¸¸é ´ÙÀ½°ú °°½À´Ï´Ù.
|
ÇÑ±Û Ã³¸®ÀÇ Character Set | |
|
KSC5601, KSC5636 |
EUC_KR(euc-kr) |
|
n KSC5601 ÇÑ±Û ¿Ï¼ºÇü Ç¥ÁØ(ÇÑ±Û 2350ÀÚ Ç¥Çö) 2350ÀÚ ÀÌ¿ÜÀÇ ¹®ÀÚ ±úÁü Çѱ¹°ø¾÷Ç¥ÁØ Á¤º¸Ã³¸®ºÐ¾ß(C)ÀÇ 5601¹ø Ç¥ÁØ¾È n KSC5636 ¿µ¹®ÀÚ¿¡ ´ëÇÑ Ç¥ÁØ Çѱ¹°ø¾÷Ç¥ÁØ Á¤º¸Ã³¸®ºÐ¾ß(C)ÀÇ 5636¹ø Ç¥ÁØ¾È ±âÁ¸ ASCII Code¿¡¼ ¿ª½½·¡½Ã¸¦ \(¿ø)Ç¥½Ã ´ëü |
Bell Laboratories¿¡¼ È®ÀåµÈ À¯´Ð½º ÄÚµå Á¦¾È À¯´Ð½º »ó¿¡¼ ¿µ¹®ÀÚ ÀÌ¿ÜÀÇ ¹®ÀÚ¸¦ Áö¿øÇÏ´Â ¹æ¹ý EUC-KR(Exetend UNIX Code) n Çѱ¹¾î¸¦ Ç¥ÇöÇÏ´Â ¹æ¹ý ¿µ¹®: KSC5636 »ç¿ë ÇѱÛ: KSC5601 »ç¿ë(KS-C-5601-1987) n EUC_KR(euc-kr) EUC_KR = KSC5601 + KSC5636 |
¼ºí¸´¿¡¼ ¹®ÀÚ¿ÀÇ ÀÎÄÚµùÀº »ó´çÈ÷ º¹ÀâÇÑ °úÁ¤À» ¹â°Ô µË´Ï´Ù. ¾Æ·¡ ±×¸²Àº ±× °úÁ¤À» µµ½ÄÈ ÇÑ ±×¸²ÀÔ´Ï´Ù.

¿ì¼± ÇÑ±Û À¥ ºê¶ó¿ìÁ®ÀÇ ÇÑ±Û ¹æ½ÄÀº KSC5601 ¹æ½ÄÀÔ´Ï´Ù. ±×¸®°í À¥ ºê¶ó¿ìÁ®¿¡¼ µ¥ÀÌÅͰ¡ Àü¼ÛµÉ ¶§ À¥¿¡¼ Åë¿ëµÇ´Â ¡°x-www-form-urlencoded¡± Çü½ÄÀ¸·Î º¯È¯ÇÏ¿© Àü¼ÛÇÏ°Ô µË´Ï´Ù. Áï ´ÙÀ½°ú °°ÀÌ Àü¼ÛµË´Ï´Ù.
n KSC5601 à À¥¿¡¼ Åë¿ëµÇ´Â x-www-form-urlencoded Çü½ÄÀ¸·Î º¯È¯ÇÏ¿© Àü¼Û
ÇÏÁö¸¸ ¼ºí¸´¿¡¼´Â KSC5601¿¡¼ À¥ ÀÎÄÚµùÀÌ µÇ¾ú´Ù°í »ý°¢ÇÏÁö ¾Ê½À´Ï´Ù. ÇѸ¶µð·Î ¿À·ùÁÒ. ¼ºí¸´Àº ¶óƾ¾î Ç¥ÁØ ÀÎÄÚµù ¹æ½ÄÀÎ ISO-8859-1¹æ½Ä¿¡¼ À¥ ÀÎÄÚµùµÇ¾ú´Ù°í °£ÁÖÇÏ¿© ÇѱÛÀ» ¹Þ¾Æ ³»°Ô µË´Ï´Ù. ÀÌ·¸°Ô µÇ¸é ´ç¿¬È÷ ÇѱÛÀº ±úÁö°Ô µË´Ï´Ù. ½ÇÁ¦´Â KSC5601·Î ÀÎÄÚµù µÇ¾î Àֱ⠶§¹®ÀÌÁÒ.
n ISO-8859-1 à À¥ ÀÎÄÚµù à À¯´ÏÄÚµå(Çѱ۱úÁü)
ÀÌ·² ¶§ÀÇ ÇØ°áÃ¥Àº ±úÁø À¯´ÏÄÚµå Çѱۿ¡¼ ISO-8859-1 ¹ÙÀÌÆ® ¹è¿À» ¾ò¾î ³»¾î ´Ù½Ã KSC5601·Î ¹Ù²Ù¾îÁÖ´Â ÀÛ¾÷À» ÇØ¼ À¯´ÏÄÚµå·Î º¯È¯ ÇØ¾ß ÇÕ´Ï´Ù.
n À¯´ÏÄÚµå(±úÁø ÇѱÛ) à ISO-8859-1 ¹ÙÀÌÆ®¹è¿ ÃßÃâ à ¿ø·¡ÀÇ Æ÷¸ËÀÎ KSC5601 º¯È¯
ÀÌ·¸°Ô º¯È¯ µÈ KSC5601Àº Á¤È®ÇÑ ÇѱÛÀÌ µÇ¸ç ÀÚ¹Ù¿¡¼ À¯´ÏÄÚµå Çü½ÄÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ¾à°£ º¹ÀâÇÏÁÒ.
±×¸®°í ÇѰ¡Áö ÁÖÀÇÇØ¾ß ÇÒ °ÍÀº ¼ºí¸´¿¡¼ ÇѱÛÀº Ŭ¶óÀÌ¾ðÆ®·Î Àü¼ÛÇϸé À¯´ÏÄڵ忡¼ ÀÚµ¿À¸·Î ISO-8859-1Çü½ÄÀ¸·Î º¯È¯Çؼ Àü¼ÛÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ±×·¸±â ¶§¹®¿¡ Ŭ¶óÀÌ¾ðÆ®°¡ ÇÑ±Û À¥ ºê¶ó¿ìÁ®¸¦ »ç¿ëÇÑ´Ù¸é ÇѱÛÀº ´ç¿¬È÷ ±úÁö°Ô µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ·² ¶© À¥ ºê¶ó¿ìÁ®°¡ ¾Ë ¼ö ÀÖ´Â KSC5601ÀÎÄÚµùÀ» »ç¿ëÇÏ´Â euc-kr ÀÎÄÚµùÀ¸·Î º¯È¯ÇÏ¿© Àü¼ÛÇØ¾ß ÇÕ´Ï´Ù.
[ÁÖÀÇ]
n ¼ºí¸´¿¡¼ ÇѱÛÀ» Àü¼ÛÇÒ ¶§ euc-kr ÀÎÄÚµùÀ» »ç¿ëÇÏ¿© ÇѱÛÀÇ ±úÁüÀ» ¹æÁö
n ¼³Á¤¹æ¹ý: request.setContentType(¡°text/html;charset=euc-kr¡±)
getParameter() ¸Þ¼µå¸¦ ÀÌ¿ëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®°¡ Àü¼ÛÇÑ µ¥ÀÌÅ͸¦ ¹Þ¾Ò´Ù¸é ¿©·¯ºÐµéÀº ´ç¿¬È÷ ±úÁø ÇѱÛÀ̶ó°í »ý°¢ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¸°Ô ¹ÞÀº ÇѱÛÀº ISO-8859-1 ÀÇ Ç¥ÁØ byte·Î ¹Þ°í À̸¦ ´Ù½Ã KSC5601 ÀÎÄÚµùÀ¸·Î º¯È¯ÇØ¾ß ÇÕ´Ï´Ù. À̰ÍÀ» °¡´ÉÇÏ°Ô Çϴ Ŭ·¡½º´Â ¾Æ·¡ÀÇ HangulEncoderŬ·¡½ºÀÇ toKSC5601() ¸Þ¼µå¸¦ ÀÌ¿ëÇÏ½Ã¸é µË´Ï´Ù. ±×¸®°í ¿ªÀ¸·Î KSC5601 ÀÎÄÚµù¿¡¼ ISO-8859-1 ÀÎÄÚµù ¹æ½ÄÀÇ ÇѱÛÀ» ¾ò°íÀÚ ÇÑ´Ù¸é to8859_1() ¸Þ¼µå¸¦ ÀÌ¿ëÇÏ½Ã¸é µË´Ï´Ù.
|
HangulEncoder.java |
ÇÑ±Û EncodingÀ» º¯°æÇϴ Ŭ·¡½º |
|
| |
|
C:\jakarta\webapps\MySample\WEB-INF\classes\org\jabook\util>javac HangulEncoder.java | |
À§ÀÇ Å¬·¡½º¿¡¼ »ç¿ëÇÑ µÎ°¡ÁöÀÇ Å« ±â´ÉÀ» º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ´ÙÀ½Àº ±úÁø À¯´ÏÄÚµå Çѱۿ¡¼ ISO-8859-1 ¹ÙÀÌÆ®¸¦ ÃßÃâÇÏ¿© KSC5601 ÀÎÄÚµù ¹æ½ÄÀÇ ÇѱÛÀ» º¯È¯ÇÑ ÈÄ String Ŭ·¡½º·Î ¸¸µé¾î À¯´ÏÄÚµå Çü½ÄÀÇ Çѱ۷Πº¹¿øÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.
n new String(en.getBytes("8859_1"),"KSC5601");
±×¸®°í ´ÙÀ½Àº ±× ¿ª¹æÇâÀ» º¸¿© ÁÖ°í ÀÖ½À´Ï´Ù.
n new String(ko.getBytes("KSC5601"),"8859_1");
À§ÀÇ HangulEncoder Ŭ·¡½º´Â ÀÌ Ã¥ Àü¹Ý¿¡ »ç¿ëÇϴ Ŭ·¡½ºÀ̱⠶§¹®¿¡ ÆÐŰÁöÇüÅ·Π¸¸µé¾î µÎµµ·Ï ÇϰڽÀ´Ï´Ù. ÆÐŰÁö ¸íÀ» ±â¾ïÇϽñ⠹ٶø´Ï´Ù.
n [ÁÖÀÇ]
ÄÄÆÄÀÏ ÇÒ ¶§ –d ¿É¼ÇÀ¸·Î classes µð·ºÅ丮¿¡¼ ¸ðµç ¼ºí¸´ ÆÄÀÏÀ» ÄÄÆÄÀÏ ÇÏ½Ã¸é »ó°ü¾øÁö¸¸ ¸¸¾à ƯÁ¤ µð·ºÅ丮 ¾Æ·¡¿¡¼ ÄÄÆÄÀÏÇÏ°Ô µÇ¸é HangulEncoder¸¦ ãÀ» ¼ö ¾ø°Ô µË´Ï´Ù. À̶§´Â ÇØ´ç classesµð·ºÅ丮 ÀÚü¸¦ classpath¿¡ Ãß°¡ÇϽà ¹Ù¶ø´Ï´Ù. ¸ðµç .java ÆÄÀÏÀ» classes µð·ºÅ丮¿¡ ³Ö¾î µÎ°í –d ¿É¼ÇÀ¸·Î ÆÐŰÁö¸¦ ÄÄÆÄÀÏÇÑ´Ù¸é »ó°ü¾øÁö¸¸ ÇÏÀ§¿¡¼ ÆÐŰÁö¸¦ ¸¸µé°í ±× ¾È¿¡¼ ÄÄÆÄÀÏ ÇÒ ¶§´Â ÇØ´ç Ŭ·¡½º¸¦ ãÁö ¸øÇÏ°Ô µË´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºJSP1ºÎ ÀúÀÚ:ÃÖ¿µ°ü |