JSP/SERVLET
2018.11.21 / 24:50

JSP request.getParameter() Çѱ۱úÁü ÇØ°á¹æ¹ý.

hanulbit
Ãßõ ¼ö 229
Àúµµ ÇÑ±Û ±úÁü ¹®Á¦·Î °ñ¸Ó¸®¸¦ ¾Î°í ÀÖ´Ù°¡ ±ú¾Ë°°ÀÌ Á¤¸®ÇسõÀ¸½Å Æ÷½ºÆÃÀ» º¸°í ³À´Ù ÆÛ¿Ô½À´Ï´Ù.

¾Æ·¡ºÎÅÍ ¿ø±Û ÀÔ´Ï´Ù.





óÀ½ JSP ³ª ¼­ºí¸´À» ÇÏ´Ùº¸¸é.... ÇѱÛÀÌ ±úÁ®¼­ ³ª¿Í ´çȲÇÏ°Ô µÈ´Ù. (³ª ¶ÇÇÑ ±×·¨´Ù ¤Ñ.¤Ñ;;;)
ÇÏÁö¸¸ À¥ÇÁ·Î±×·¡¹Ö¿¡¼­ " ÇѱÛÀÌ ±úÁ®¼­ ³ª¿Í¿ä~!" 
¶ó°í ¸»ÇÏ´Â °ÍÀº ¸¶Ä¡ "ÀÎÅͳÝÀÌ ¾ÈµÇ¿ä~!"
¶ó°í ¸»ÇÏ´Â °Í¸¸Å­À̳ª º¹ÀâÇÏ°í ¿©·¯°¡Áö »óȲÀ» ºÁ¾ß ÇÑ´Ù. ¤Ñ.¤Ñ;;

ÀÏ´Ü ¾ð¾îÄڵ尡 ¾î¶»°Ô ¹Ù²î¾î ¿Ô´ÂÁö »ì¦¸¸ »ìÆì º¸ÀÚ.
óÀ½¿¡ À̳ðÀÇ ¾çÅ° »öÈ÷µéÀÌ ¸¸µç ÄÄÇ»ÅÍ¿¡¼± ´ç¿¬ÇÏ°Ôµµ ¿µ¾î¸¸ ÅëÇß¾ú´Ù.
¿ì¸®°¡ ±×³É ¹«ÀǽÄÀûÀ¸·Î ÄÄÇ»ÅÍ¿¡ Çѱ۷ΠȤÀº ¿µ¾î·Î ÀÔ·ÂÇÏÁö¸¸
»ç½ÇÀº ÀÌ·± ¾ð¾î´Â Äڵ嵥ÀÌÅͷΠ󸮰¡ µÈ´Ù. 
ÄÄÇ»ÅÍ¿¡¼­ ¾²´Â ¿µ¾îÄÚµå´Â ASCII ÄÚµå ÀÌ´Ù. 7ºñÆ®ÀÇ ÄÚµå·Î µÇ¾îÀÖ´Ù.
ÇÏÁö¸¸ ACII Äڵ常 ÀÖ´Â °ÍÀº ¾Æ´Ï°í Á¡Á¡ ´Ù¸¥ ÄÚµåü°èµéÀÌ ³ª¿Ô´Ù. (Á¾·ùµéÀº »ý·«. ±ÍÂúÀ½ ±Ã±ÝÇÏ¹È Ã£¾ÆºÁ)
ÇÑ±Û ¿ª½Ã ¸¶Âù°¡Áö´Ù.
Á¶ÇÕÇüÀÌ´Ï, ¿Ï¼ºÇüÀÌ´Ï, È®Àå¿Ï¼ºÇüÀÌ´Ï, À¯´ÏÄÚµå ÇѱÛÇüÀÌ´Ï..¹¹ ÀܶàÀÖ´Ù.
°£´ÜÈ÷ ¸»Çϸé
Á¶ÇÕÇüÀº Áï¼®¿¡¼­ ÇÑ±Û Àڸ𸦠Á¶ÇÕÇØ ÇѱÛÀ» Ç¥ÇöÇÑ´Ù. ¿¹Àü µµ½º ½Ã¼³¿¡ ¸¹ÀÌ »ç¿ëÇÏ¿´À¸³ª, ÇöÀç´Â °ÅÀÇ ¾²ÀÌÁö ¾Ê´Â´Ù. ¸ðµç ÇÑ±Û ¹®ÀÚ¸¦ ´Ù Ç¥Çö ÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù.
¿Ï¼ºÇüÀº Çѱۿ¡¼­ ¸¹ÀÌ ¾²ÀÌ´Â °Íµé¸¸ °ñ¶ó ¹Ì¸® ±ÛÀÚ¸¦ ¸¸µé¾î ³õ´Â´Ù. ¿¹¸¦ µé¸é, "°¡" "³«" ´ä" ÀÌ·±½ÄÀ¸·Î ¸»ÀÌ´Ù. Âü... ¹®Á¦°¡ ¸¹Àº ŸÀÔÀÌÁö ¾Ê³ª ½Í´Ù. À©µµ¿ì95 ±îÁö ¼ø¼ö ¿Ï¼ºÇü ÇѱÛÀ» ½è´Ù. 
¿ì¸®³ª¶ó Ç¥ÁØ¿¡´Â KSC5601 À» Ç¥ÁØÇѱÛÄÚµå·Î Á¤ÀÇÇÏ°í Àִµ¥, ±âº»Àº ¿Ï¼ºÇü ÇѱÛÀÌ°í, Àڸ𰡠ÀÔ·ÂµÉ ¶§ ±ÛÀÚ¸¦ ¸ðÀº´ÙÀ½ ÄÚµåÅ×ÀÌºí¿¡¼­ Äڵ带 ã¾Æ ġȯÇÑ´Ù. ¸Þ¸ð¸® ³¶ºñ°¡ ½ÉÇÏ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. 
È®Àå ¿Ï¼ºÇüÇѱÛÀº ±âÁ¸ÀÇ ¿Ï¼ºÇü Çѱۿ¡ "??" "??" °°Àº ±ÛÀÚ¸¦ ¾ïÁö·Î Ãß°¡ÇØ ³ÖÀº °ÍÀÌ´Ù. À©µµ¿ì98ºÎÅÍ ÇöÀç¹öÀü±îÁö À̳ðÀ» ¾´´Ù.(³»ºÎÀûÀ¸·Î´Â À¯´ÏÄڵ带 »ç¿ëÇÑ´Ù.)
À¯´ÏÄÚµå´Â ÇÑ±Û »Ó ¾Æ´Ï¶ó Àü¼¼°è ¸ðµç ¾ð¾î¸¦ ¸ðµÎ Ç¥Çö ÇÒ ¼ö ÀÖ´Ù. ÇѱÛÀ» Ç¥Çö ÇÒ¶§ È®Àå ¿Ï¼ºÇüº¸´Ù ³ªÀº Á¡Àº, Äڵ尡 ¼ø¼­´ë·Î ¾ð¾î¿¡ ÀÏ°üÀûÀ¸·Î ÇÒ´çÀÌ µÇ¾î ÀÖ´Ù´Â °Å´Ù. Á¶ÇÕÇü°ú ¸¶Âù°¡Áö·Î ¸ðµç ÇѱÛÀÌ ÀÔ·Â °¡´ÉÇÏ´Ù.
ÀÚ, ±×·³ º»·ÐÀ¸·Î µ¹¾Æ¿Í¼­ ¿Ö ÇѱÛÀÌ ±úÁö´ÂÁö ¾Ë¾Æº¸ÀÚ.

ÀÏ´Ü, ¿ì¸®°¡ ¾²´Â ÇÑ±Û À¥ºê¶ó¿ìÁ®¿¡¼­´Â KSC5601 Äڵ带 ±âº»À¸·Î »ç¿ëÇÑ´Ù.
±×¸®°í À¥À¸·Î Àü¼Û ÇÒ ¶§¿¡´Â x-www-form-urlencoded Çü½ÄÀ¸·Î ÀÎÄÚµùÀÌ µÈ´Ù.
±Ùµ¥ À̳ðÀÇ ¼­ºí¸´Àº(JSPµµ ¸¶Âù°¡Áö´Ù. ¾îÂ÷ÇÇ ¼­ºí¸´À¸·Î ÄÄÆÄÀÏ µÇ´Ï±ñ) ¿ì¸®ÀÇ ÈǸ¢ÇÏ°í ¾Æ¸§´Ù¿î ÇѱÛÀ» °³¹«½Ã Çϴ Ư¼ºÀ» °¡Áö°í ÀÖ´Ù. 
ÀÌ º´½Å°°Àº ¼­ºí¸´´Ô²²¼­´Â ¿ì¸®ÀÇ ÇÑ±Û ÄÚµå KSC5601 ÀÌ ÀÎÄÚµùµÇ¾î Àü´ÞµÇ¸é, KSC5601ÀÌ ¿Ô´Ù°í »ý°¢ÇÏÁö ¾Ê°í ¶óƾ¾î°¡ ¿Ô´Ù°í »ý°¢ÇÑ´Ù. (¶óƾ¾î Ç¥ÁØÄÚµå´Â ISO-8859-1 ÀÌ´Ù) ±×¸®°í JAVA ¿¡¼­´Â À¯´ÏÄڵ带 »ç¿ëÇϹǷΠ¼­ºí¸´Àº Àü´ÞµÈ ÇѱÛÄڵ带 ISO-8859-1 Çü½ÄÀ¸·Î ÀÎÄÚµùÇÏ°Ô µÈ´Ù.
ÀÌ°ÍÀº ¸í¹éÇÏ°Ô ¼­ºí¸´¿£Áø ÀÚüÀÇ ¹ö±×´Ù. SUN Àº ÇÏ·ç ¹Ù»ß ÀÌ ¹ö±×¸¦ °íÃÄ Áֱ⸦ ¹Ù¶õ´Ù.
¾Æ¹«Æ° ÀÏ´Ü À¥->¼­ºí¸´ À¸·Î Àü´ÞµÇ´Â °úÁ¤¿¡¼­ ÇѱÛÀÌ ±úÁö°Ô µÈ´Ù.
±×·³ ÀÌ°É ¾È±úÁö°Ô ÇÏ·Á¸é ¾î°¾ß ÇϳÄ??
ÀÚ~ Çѹø º¸ÀÚ.
ÀÏ´Ü À¥¿¡¼­ KSC5601 Äڵ尡 x-www-form-urlencoded ·Î ÀÎÄÚµùµÇ¾î ¼­ºí¸´¿¡ Àü´ÞµÇ¾ú´Âµ¥, ¼­ºí¸´Àº À̳ðÀÌ ISO-8859-1 ÀÌ ¿Â°É·Î ÀνÄÇÏ°í ISO-8859-1 Çü½ÄÀÇ À¯´ÏÄÚµå·Î ÀÎÄÚµùÇÑ´Ù.
¿©±â±îÁö°¡ ÇöÀç »óȲÀÌ´Ù. ÀÌ°É ¿ø·¡´ë·Î µÇµ¹¸±·Á¸é
ISO-8859-1 Çü½ÄÀÇ À¯´ÏÄÚµå·Î ÀÎÄÚµùµÈ(±úÁø »óÅ´Ù)³ðÀ» ´Ù½Ã ISO-8859-1ÀÇ ¹ÙÀÌÆ® ¹è¿­·Î ÃßÃâÇÑ´Ù. ±× ´ÙÀ½¿¡ ±×³ðÀ» ´Ù½Ã ¿ø·¡ÀÇ Æ÷¸ËÀÎ KSC5601 Çü½ÄÀ¸·Î º¯È¯ ÇØÁÖ¸é µÈ´Ù.

¶Ç ¹®Á¦´Â ¼­ºí¸´¿¡¼­ À¥À¸·Î º¸³¾ ¶§µµ ÇѱÛÀ» Àü¼ÛÇϸé À̳ðÀÌ ISO-8859-1 Çü½ÄÀ¸·Î º¯È¯ÇÑ´Ù. ±×·¡¼­ ÀÌ°ÍÀº KSC5601 À» »ç¿ëÇÏ´Â euc-kr ·Î º¯È¯Çؼ­ Àü¼ÛÇØ¾ß ÇÑ´Ù. 
ÀÌ°ÍÀº Á» °£´ÜÇÑ ÆíÀε¥ JSP ÆäÀÌÁö³ª ¼­ºí¸´¿¡ contentType ÀÇ charset À» "euc-kr" ·Î ¼³Á¤ÇØ Áֱ⸸ ÇÏ¸é µÈ´Ù. 
(Âü°í·Î euc-kr Àº ÇѱÛÀº KSC5601 ·Î Ç¥ÇöÇÏ°í, ¿µ¾î´Â JSC5636À» »ç¿ëÇÏ´Â ¹æ¹ýÀε¥, º§ ¿¬±¸¼Ò¿¡¼­ Á¦¾ÈÇÑ À¯´Ð½º »ó¿¡¼­ ¿µ¾î ¿ÜÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÏ´Â ¹æ¹ý Áß¿¡ ÇϳªÀÌ´Ù. euc-kr Àº Extended UNIX Korea Code ÀÇ ¾àÀÚÀÌ´Ù.)
¸¸¾à¿¡ À¥ÆäÀÌÁö¿¡¼­ ÅؽºÆ®ÇÊµå °°Àºµ¥ ÀÔ·ÂÇؼ­ ¹Þ¾Æ¿À·Á°í ÇÒ¶§ request.getParameter() ·Î ÇѱÛÀ» ¹Þ¾Æ¿Ô´Ù¸é 100% ±úÁ³´Ù°í »ý°¢ÇÏ¸é µÈ´Ù. ±×·± ÀÌ ±úÁø³ðÀ» À§¿¡¼­ ¸»ÇÑ´ë·Î º¹±¸ÇØ¾ß Çϴµ¥, ¼ø¼­´ë·Î Çغ¸ÀÚ.
ÀÏ´Ü ±úÁø ½ºÆ®¸µÀÌ str ·Î ¿Ô´Ù¸é, À̳ðÀÇ ISO-8859-1 ÇüÅÂÀÇ ¹ÙÀÌÆ® ¹è¿­·Î ÃßÃâÇÑ´Ù°í Çß´Ù.

str.getBytes("8859_1") 

À̶ó°í ÇØÁÖ¸é ÀÏ´Ü ¹ÙÀÌÆ® ¹è¿­·Î ÃßÃâ ÇÏ°Ô µÈ´Ù. ±×·¯¸é À̳ðÀ» KSC5601 ÇüÅ·Π¹Ù²ãÁà¾ß Çϴµ¥, String °´Ã¼¸¦ »ý¼º ÇÒ ¶§, »ý¼ºÀÚ Áß¿¡ ÀÌ·± ³ðÀÌ ÀÖ´Ù.

String(byte[] bytes, String charsetName) 

À̳ðÀº ƯÁ¤ÇÑ charset À» »ç¿ëÇÏ¿© ¹ÙÀÌÆ®¹è¿­À» µðÄÚµùÇÏ¿© »ý¼ºÇÑ´Ù. 
µû¶ó¼­ ´ÙÀ½°ú °°ÀÌ ÇØÁÖ¸é ISO-8859-1ÀÇ ¹ÙÀÌÆ®ÄÚµå¹è¿­À» KSC5601 ·Î ¹Ù²Ü ¼ö ÀÖ´Ù.

new String(str.getBytes("8859_1"),"KSC5601")

º¸Åë ÀÌ·± ÇѱÛ󸮴 µû·Î À¯Æ¿¸®Æ¼ Ŭ·¡½º¸¦ ¸¸µé¾î »ç¿ëÇÏ´Â ÆíÀÌ´Ù.
¿¹¸¦ µé¾î °£´ÜÇÏ°Ô µé¾î¿Â ¹®ÀÚ¿­À», ÇѱÛÄÚµå·Î ¹Ù²ã¼­ ³» ¹ñ¾î ³»´Â ¸Þ¼Òµå¸¦ º¸ÀÌ°Ú´Ù.

public static String toKSC5601(String s){ 
if(s==null){ 
return null; 

try{ 
return new String(s.getBytes("8859_1"),"KSC5601"); 
}catch(Exception e){return s;} 



===================================================================================================================



jsp ÇѱÛó¸® ³«¼­Àå 
2006/03/12 22:28


http://blog.naver.com/hacoto/50002494194


JSP¿Í ÇѱÛó¸®


1. JSP¿¡¼­ÀÇ ÇѱÛó¸® ¹®Á¦ÀÇ Çʿ伺

JSPÀÇ ÇÑ°¡Áö ¹®Á¦Á¡Àº ÇÑ±Û Ã³¸® ¹®Á¦ÀÌ´Ù.

ƯÈ÷ user°¡ ÀÔ·ÂÇÑ ÇѱÛÁ¤º¸¸¦ ÆÄÀÏÀ̳ª DB¿¡ ÀúÀåÇÒ ¶§ null·Î ÀúÀåµÇ°Å³ª 

¹°À½Ç¥(?) µî°ú °°Àº Ư¼ö¹®ÀÚ°¡ ÀúÀå µÇ´Â °æ¿ì°¡ ÀÖ´Ù.


¹Ý´ë·Î ¼­¹ö¿¡ ÀúÀåµÈ ÇѱÛÁ¤º¸¸¦ ºê¶ó¿ìÀú¸¦ ÅëÇØ º¸¿©ÁÖ·Á°í ÇÒ ¶§ 

°ø¹éÀ̳ª ¹°À½Ç¥(?) µîÀ¸·Î Ç¥½ÃµÇ±âµµ ÇÑ´Ù.


ÇÑ±Û Äڵ忡 ´ëÇÑ Ã³¸®°¡ ºÒ¿ÏÀüÇϱ⠶§¹®À̸ç ÀÌ¿¡´ëÇÑ Ãß°¡ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.

¼­ºí¸´ ¿£ÁøÀÇ ¹öÀü¿¡ µû¶ó ³»¿ëÀÌ ´Ù¸¥µ¥ JDK1.3 ¹öÀü¿¡¼­´Â Ãß°¡ÀÛ¾÷ÀÌ ¸¹ÀÌ ÁÙ¾ú´Ù.



2. Resin¿¡¼­ÀÇ ÇѱÛó¸®

JSP Áö½Ã¹®¿¡¼­ ó¸®ÇØÁÖ¸é Çѱ۹®Á¦´Â ½±°Ô ÇØ°áµÈ´Ù.

<%@ page contentType="text/html; Charset=EUC-KR" %> 


Âü°í 
* "EUC-KR" ¶Ç´Â "EUC_KR" ¶Ç´Â "euc-kr" ¸ðµÎ »ó°ü¾ø´Ù. 




3. JSWDK, javaWebServer, WebLogic ¿¡¼­ÀÇ ÇѱÛó¸®

DB¿Í JSP(JAVA)°¡ »ç¿ëÇÏ´Â ÄÚµåü°è°¡ ´Ù¸£±â ¶§¹®¿¡ ÇѱÛ󸮹®Á¦°¡ ¹ß»ýÇϴµ¥..

ÀϹÝÀûÀ¸·Î DB´Â ASCII³ª KSC5601 ÄÚµåü°è¸¦ »ç¿ëÇÏ°í JSP(JAVA)´Â À¯´ÏÄڵ带 »ç¿ëÇϱ⠶§¹®ÀÌ´Ù.


¿ì¼±Àº JSP Áö½Ã¹®¿¡¼­ page Áö½Ã¾î¿¡ ¼Ó¼ºÀ¸·Î CharsetÀ» ÇѱÛÄÚµå("EUC-KR")·Î Á¤ÀÇÇÑ´Ù.
<%@ page contentType="text/html; Charset=EUC-KR" %> 


±× ´ÙÀ½¿£ JSP ÆäÀÌÁö¿¡¼­ ºê¶ó¿ìÀú·Î ÇѱÛÀ» Ãâ·ÂÇÒ ¶§¿¡´Â KSC5601(¶Ç´Â "EUC-KR")·Î º¯È¯ÇÏ°í,

¹Ý´ë·Î ÇѱÛÁ¤º¸¸¦ DB·Î ÀúÀåÇÒ °æ¿ì¿¡´Â "8859_1" ÄÚµå·Î º¯°æÇÏ¸é ¾ÈÀüÇÏ´Ù.

<%
String str="¾È³çÇϼ¼¿ä";

// ºê¶ó¿ìÀú¿¡ ÇѱÛÀ» Ãâ·ÂÇϱâ Àü¿¡ ¸ÕÀú º¯È¯ÇØ ÁÜ
str = new String(str.getBytes("8859_1"), "KSC5601");
out.println(str);
...

// ÆÄÀÏÀ̳ª DB¿¡ ÇѱÛÀ» ÀúÀåÇÒ ¶§ ¸ÕÀú ¾Æ·¡Ã³·³ º¯È¯ÇØ ÁÜ
str = new String(str.getBytes("KSC5601"), "8859_1");

%> 


4. Tomcat ¿¡¼­ÀÇ ÇÑ±Û Ã³¸®


¿ì¼±Àº JSP Áö½Ã¹®¿¡¼­ page Áö½Ã¾î¿¡ ¼Ó¼ºÀ¸·Î CharsetÀ» ÇѱÛÄÚµå("EUC-KR")·Î Á¤ÀÇÇÑ´Ù.
<%@ page contentType="text/html; Charset=EUC-KR" %> 

ÇÑ°¡Áö ´õ ÇØÁÖ¾î¾ß Çϴ°ÍÀº

TomcatÀº GetÀ̳ª POST¸¦ ÅëÇØ Àü¼ÛµÇ´Â °ªÀÌ Cp1252·Î º¯È¯µÇ±â ¶§¹®¿¡

request.getParameter()¸Þ¼Òµå¸¦ »ç¿ëÇÒ ¶§´Â ¹Ýµå½Ã "EUC-KR"·Î º¯È¯ÇØ ÁÖ¾î¾ß ÇÑ´Ù.

<%

String name;
name=new String(request.getParameter("name").getBytes("Cp1252"), "EUC-KR");

%> 





// À¯´ÏÄڵ带 ÇѱÛÄÚµå·Î º¯È¯
protected String uni2ksc (String Unicodestr) throws UnsupportedEncodingException {
return new String (Unicodestr.getBytes("8859_1"),"KSC5601");
}

// ÇѱÛÄڵ带 À¯´ÏÄÚµå·Î º¯È¯
protected String ksc2uni(String str) throws UnsupportedEncodingException {
return new String( str.getBytes("KSC5601"), "8859_1");
}

from:
http://www.senun.com/Left/Programming/Java/Jsp/jsp_syntax_hangul.htm 




Ãúó : okjsp Tips 



makeKor() ¸Þ¼Òµå 


<%! 
public String makeKor(String s) throws java.io.UnsupportedEncodingException{ 
String kor=""; 
if (s==null) 
kor=null; 
else 
kor=new String(s.getBytes("ISO-8859-1"),"EUC-KR"); 
return kor; 

%>


makeKor() ¶ó´Â ¸Þ¼Òµå¸¦ ¸ÕÀú »ìÆ캸ÀÚ. 
ÀÌ ºÎºÐÀº °¢ ÆÄÀÏÀÇ ¸Ç³¡¿¡ À§Ä¡ÇÑ´Ù. 
¸Þ¼Òµå·Î µé¾î¿À´Â °¡Àμö ºÎºÐÀ» makeKor(String s)¸¦ ÅëÇØ s·Î ¼±¾ðÇß°í 
±× sÀÇ °ªÀÌ NullÀÎ °æ¿ì null °ªÀ» º¸³»ÁÖ°í null°ªÀÌ ¾Æ´Ï¶ó¸é 
String(s.getBytes(¡°ISO-8859-1¡±),¡±EUC-KR¡±); 
ÀÚ¹ÙÀÇ Ç¥ÁØ ¹®ÀÚ¼ÂÀÎ ¡°ISO-8859-1¡±À» Çѱ¹¾î Áö¿øÀÎ ¡°EUC-KR¡±·Î ¹Ù²Ù¾îÁÖ¶ó°í 
¸í·ÉÇÑ´Ù. º¯È¯ÈÄ¿¡´Â º¯È¯°ªÀÌ ÀÖ´Â kor º¯¼ö¸¦ ¸®ÅÏÇÑ´Ù. 







<% 
String id = makeKor(request.getParameter("id")); 
String pwd = makeKor(request.getParameter("pwd")); 
String name = makeKor(request.getParameter("name")); 
String job = makeKor(request.getParameter("job")); 
String email = makeKor(request.getParameter("email")); 
String company= makeKor(request.getParameter("company")); 
String mailing = makeKor(request.getParameter("mailing")); 
%> 

Ŭ¶óÀ̾ðÆ®(»ç¿ëÀÚ)°¡ ÀÔ·ÂÇÑ ÀڷḦ °¡Á®´Ù°¡ °¢ º¯¼ö¿¡ ÀúÀåÇÏ´Â ºÎºÐÀÌ´Ù. 
Àü°ú´Â Ʋ¸®°Ô makeKor() ¸Þ¼Òµå°¡ »ç¿ëµÇ¾ú´Ù. 
±× ÀÌÀ¯´Â ÅèĹ»ç¿ë½Ã ÄÜÆ®·Ñ¿¡ ÀÇÇÏ¿© ÆĶó¹ÌÅÍ·Î ÇѱÛÀÌ Àü¼ÛµÇ¾îÁú¶§ JSP¿¡¼­ 
ÇѱÛÀÌ ±úÁö´Â ¿À·ù°¡ ¹ß»ýÇϱ⠶§¹®ÀÌ´Ù. 
±×·¡¼­ ³Ñ¾î¿Â µ¥ÀÌÅÍ´Â ´Ù½Ã ÀÚ¹ÙÇÁ·Î±×·¥³»¿¡¼­ Çѱ۷Π¹Ù²ãÁÖ´Â ÀÛ¾÷À» ÇÏ¿©¾ß ÇÑ´Ù. 
±×¸®ÇÏ¿© ÀÓÀÇ·Î makeKor() ¶ó´Â À̸§À¸·Î ¸Þ¼Òµå¸¦ ¸¸µé¾î »ç¿ëÇÑ´Ù. 




Ãâó : javaservice.net
------------------------------- 

ÅèĹ 4 ÇÑ±Û ¿¡·¯¹®Á¦..........
±Û¾´ÀÌ: ¼Õ´Ô(guest) 2003/08/17 02:54:23 Á¶È¸¼ö:268 ÁÙ¼ö:58


Áö°Ü¿î ÇÑ±Û ¹®Á¦ ÀÔ´Ï´Ù. (Âü°í·Î Àúµµ ÇÑ±Û °ü·Ã Q/A ´Â °ÅÀǴ٠ã¾Æº¸¾Ò½À´Ï´Ù. - Á¦ »ý°¢ÀÏ »ÓÀΰ¡¿ä ? ^^) 


ȯ°æ : jdk 1.4.1 tomcat 4.1.24 apche 1.3.26 win 2000 ÀÔ´Ï´Ù. 


°úÁ¤ : jsp ¿¡¼­ ÀԷ¹ÞÀº À̸§(ÇѱÛ) À» DB ¿¡ ÀԷ ó¸® ÇÏ´Â °úÁ¤ÀÔ´Ï´Ù. 


< %@ page language="java"% > 
< % response.setContentType("text/html"); % > 

< jsp:useBean id=bsave ~~~~ ºóÁî ¼±¾ðºÎºÐ > 

< % 
String strInUser = new String(request.getParameter("txtInUser").getBytes("8859_1"),"KSC5601"); 
% > 


"ÇѱÛÅ×½ºÆ® ÄÉ??, ÄÉÀÌÅ©" ^^ 


À̸§Àº < %=strInUser% > -----> ¹Þ¾Æ¿Â ÇѱÛÀÌ ºê¶ó¿ìÀú¿¡¼± Àß ³ª¿É´Ï´Ù. 


< % 
System.out.println("jsp À̸§ ="+strInUser ); ----> À§¿Í µ¿ÀÏÇÑ °ÍÀ» ÀÌ·¸°Ô Âï¾îº¸¸é ±úÁü´Ï´Ù. 

¿Ö ¿©±â¼­ ±úÁú±î¿ä ???????????????? 

bSave.saveRotaCfrm(strInUser); -----> ºóÁî È£Ãâ Çϸç ÆĶó¸ÞÅÍ·Î ³Ñ°Üµµ ¹°·Ð ±úÁö³×¿ä 

% > 


[Âü°í] 

»ó´Ü ¼±¾ðºÎ¸¦ ÀÌ·¸°Ô ¹Ù²Ù¾îµµ º¸¾Ò½À´Ï´Ù. 

ÀÎÄÚµù ºÎºÐÀ» 
//String strInUser = new String(request.getParameter("txtInUser").getBytes("Cp1252"), "EUC-KR"); 

//String strInUser = new String(request.getParameter("txtInUser").getBytes("KSC5601"),"8859_1"); 

//String strInUser = new String(request.getParameter("txtInUser").getBytes("EUC-KR"), "KSC5601"); 

//String strInUser = new String(request.getParameter("txtInUser").getBytes("8859_1"),"MS949"); 


ÀÌ·± ¿©·¯ ¹æ¹ýÀ¸·Îµµ Å×½ºÆ® Çغ¸¾Ò½À´Ï´Ù. 

¿ª½Ã ¸ðµÎ´Ù ºê¶ó¿ìÀú¿¡¼± ³ª¿ÀÁö¸¸ ±× ÀÌÈÄ¿¡´Â ±úÁö³×¿ä .. 


Á¦¸ñ : Re: Çѱ۹®Á¦´Â »ý°¢º¸´Ù ½±½À´Ï´Ù... ^^;
±Û¾´ÀÌ: ±è»ó¹®(guest) 2003/08/21 18:13:15 Á¶È¸¼ö:497 ÁÙ¼ö:96


¸¹Àº ºÐµéÀÌ jsp¿¡¼­ ÇѱÛ󸮶§¹®¿¡ ¸¹Àº °í»ýÀ» ÇÏ°í °è½Åµ¥ ÇѱÛ󸮴 

µ¿ÀÛ¿ø¸®¸¸ ¾Ë¸é ½±°Ô Ç®¼ö ÀÖ´Â ¹®Á¦ÀÔ´Ï´Ù.

±×·³. µ¿ÀÛ¿ø¸®¸¦ Àá±ñ ¾Ë¾Æº¼±î¿ä.... ^^

¸ÕÀú ÀÚ¹Ù´Â À¯´ÏÄڵ带 »ç¿ëÇÑ´Ù´Â »ç½ÇÀ» ÀÎÁöÇؾßÇÕ´Ï´Ù.
(ÀÚ¹ÙÇϽô ºÐµéÀº ´Ù ¾Ë°í ÀÖÁö¸¸ ÇѱÛ󸮸¦ ÇϽǶ§ ¸¹ÀÌ »©¸Ô´Â ºÎºÐÀ̱⵵ÇÕ´Ï´Ù)

´Ù½Ã ¸»Çؼ­ jsp(java) ¾È¿¡¼­´Â ¹®ÀÚ¿­ÀÌ À¯´ÏÄÚµå¶ó´Â °ÍÀÔ´Ï´Ù.

±×·³. ºê¶ó¿ìÀú¿¡¼­ request¸¦ º¸³¾ ¶§ ÀÔ´Ï´Ù. 

HTTP ¿äûÀº 8859_1·Î º¸³À´Ï´Ù. Áï ´Ù½Ã ¸»Çϸé ÇѱۿϼºÇüÄÚµå ±×´ë·Î º¯È¯¾øÀÌ

º¸³À´Ï´Ù. (byte±×´ë·Î...)

ÀÏ´Ü °£·«ÇÏ°Ô ±×¸®¸é

ºê¶ó¿ìÀú ÇѱۿϼºÇüÄÚµå ±×´ë·Î Àü¼Û --request(*)--> jsp ÄÁÅ×À̳ʿ¡¼­ À¯´ÏÄÚµå·Î º¯È¯ --> ³»ºÎó¸®--response(*)--> °á°ú¹°À» ºê¶ó¿ìÀú·Î Àü¼Û

(*)ºÎºÐ¿¡¼­ À¯´ÏÄÚµå<-->ÇØ´ç¹®ÀÚ¿­ÄÚµå·Î º¯È¯ÀÌ ÀϾ´Ï´Ù.

request(*)¿¡¼­ ¹®ÀÚ¼ÂÀÌ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é (ÀÌ ¸»Àº ºê¶ó¿ìÀú°¡ request¸¦ ¿äûÇÒ ¶§ Ưº°È÷
¹®ÀÚ¼ÂÀ» ÁöÁ¤ÇÏÁö ¾Ê¾ÒÀ» ¶§, °¡Àå ÀϹÝÀûÀÎ »óȲÀÔ´Ï´Ù) 8859_1·Î 󸮵˴ϴÙ.

Áï. "ÇÑ"À̶ó´Â ¹®ÀÚ¿­À» º¸³Â´Ù°í ÇßÀ» ¶§ ¿Ï¼ºÇüÄÚµå 2byte°¡ ±×´ë·Î Àü¼ÛµÇÁÒ.

8859_1 ¹®ÀÚ¼ÂÄڵ带 À¯´ÏÄÚµå·Î º¯È¯ÇÏ¸é »óÀ§¹ÙÀÌÆ®¿Í ÇÏÀ§¹ÙÀÌÆ®°¡ °¢°¢ 1ÀÚÀÇ

À¯´ÏÄÚµå·Î º¯È¯µÇ¹Ç·Î "ÇÑ"À̶ó´Â ±ÛÀÚ´Â À¯´ÏÄÚµå 2ÀÚ·Î º¯È¯µË´Ï´Ù.

¾Æ½Ã´Ù½ÃÇÇ À¯´ÏÄڵ忡¼­ ÇѱÛÀº 1ÀÚÀÔ´Ï´Ù. ÀÌ º¯È¯ÀÌ ÀÖ´õ¶óµµ ÇѱÛbyte°¡ ±úÁöÁö´Â ¾Ê½À´Ï´Ù.

¿Ö³ÄÇÏ¸é »óÀ§, ÇÏÀ§¹ÙÀÌÆ®°¡ °¢°¢ À¯´ÏÄÚµå ¾È¿¡ ±×´ë·Î »ì¾ÆÀֱ⶧¹®ÀÔ´Ï´Ù.

ÀÌ °æ¿ì À¯´ÏÄڵ幮ÀÚ¿­.getBytes("8859_1")ÀÇ ¸Þ¼Òµå È£Ãâ·Î ¿ø·¡ byte¿­·Î µ¹¸± ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù.

request¿¡¼­ ±âº» 8859_1 ¹®ÀÚ¼ÂÀ» ´Ù¸¥ ¹®ÀÚ¼ÂÀ¸·Î ¹Ù²Ù´Â ¸Þ¼Òµå°¡ ÀÖÁÒ.

request.setCharacterEncoding("euc-kr") À̶ó°í Çϸé(¹Ýµå½Ã ÆĶó¹ÌÅ͸¦ Àбâ ÀÌÀü¿¡ ÇؾßÇÕ´Ï´Ù)

ÇÑ±Û 1ÀÚ(2byte)¸¦ À¯´ÏÄÚµå 1ÀÚ·Î º¯È¯ÇØÁÝ´Ï´Ù..

response(*) ºÎºÐÀº ºê¶ó¿ìÀú¿¡ º¸³»±âÀü¿¡ À¯´ÏÄڵ带 ÇØ´ç ¹®ÀÚ¼ÂÀÇ byte¿­·Î º¯È¯ÇÏ´Â ºÎºÐÀÔ´Ï´Ù.

page ű׳ª response.setContentType() ¸Þ¼Òµå¿¡¼­ "text/html; charset=euc-kr" ½ÄÀ¸·Î ¼³Á¤°¡´ÉÇÕ´Ï´Ù.

ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¿ª½Ã 8859_1·Î 󸮵ǹǷΠrequest¿¡¼­ 8859_1ÀÌ¸é µé¾î¿Â ±×´ë·Î ´Ù½Ã º¸³»¹Ç·Î

¾î¶² ¹®ÀÚÄÚµå¶óµµ ±úÁöÁö ¾Ê½À´Ï´Ù. ±×·¯³ª euc-kr·Î µÇ¾î ÀÖÀ¸¸é À¯´ÏÄÚµå --> ÇѱۿϼºÇü

º¯È¯½Ã À¯´ÏÄÚµå 1ÀÚ¸¦ ÇÑ±Û 1ÀÚ·Î ÀνÄÇϱ⶧¹®¿¡ ÇѱÛÀ¯´ÏÄÚµå´Â 2byteÀÇ ¿Ï¼ºÇü ÄÚµå·Î º¯È¯µË´Ï´Ù.

¿©±â¼­ ÇѱÛÀ¯´ÏÄڵ带 8859_1À¸·Î º¯È¯Çϸé À¯´ÏÄÚµåÀÇ »óÀ§byte°¡ ¾ø¾îÁö°í ÇÏÀ§byte¸¸ »ç¿ëµË´Ï´Ù.

±×·¯´Ï ÇѱÛÀÌ ±úÁ®¼­ ºê¶ó¿ìÀú·Î Àü¼ÛµË´Ï´Ù.

ÀÌ °æ¿ì ±ÛÀÚÀÇ »óÀ§byte°¡ ¾ø¾îÁö¹Ç·Î µÇµ¹¸± ¼ö ¾ø½À´Ï´Ù. 

±×·¡¼­ ÇѱÛÀÌ Á¤»óÀûÀ¸·Î 󸮵ɷÁ¸é

1, ºê¶ó¿ìÀú -- 8859_1(default) --> jsp ÄÁÅ×À̳Ê(jsp/java) -- 8859_1(default) --> ºê¶ó¿ìÀú
(* ºñÃßÀü)

2. ºê¶ó¿ìÀú -- euc-kr(¿äû½Ã ºê¶ó¿ìÀú¿¡¼­ ÁöÁ¤ÇÏ´øÁö, ¾Æ´Ï¸é setCharacterEncoding»ç¿ë -->
jsp ÄÁÅ×À̳Ê(jsp/java) -- euc-kr(response¿¡¼­ contentTypeÀ¸·Î ÁöÁ¤) --> ºê¶ó¿ìÀú
(* ̧˟)

3. jsp ³»¿¡¼­ (½ÇÇà½Ã°£include)·Î jsp°¡ ¾Æ´Ñ ÇѱÛÈ­ÀÏ(htmlµî) Æ÷ÇÔÇÒ ¶§´Â jspÄÁÅ×À̳ʰ¡ ½ÇÇàµÉ ¶§
½Ã½ºÅÛ ¹®Àڼ¿¡ µû¶ó¼­ º¯È¯ÀÌ µË´Ï´Ù.
±×·¡¼­ 1ÀÇ °æ¿ìÀÏ °æ¿ì ½Ã½ºÅÛÀº ¹Ýµå½Ã 8859_1·Î ¹®ÀÚ¼Â(·ÎÄÉÀÏÀÇ ¹®ÀÚÄÚµå¼Â)À¸·Î µÇ¾î¾ßÇÏ°í
2ÀÇ °æ¿ì´Â ÇѱÛÄÚµå(¸®´ª½º, ¿øµµ¿ìÁî¿¡ µû¶ó ¸íĪÀÌ ´Ù¸£Áö¸¸ ±âº»ÀûÀ¸·Î ¿Ï¼ºÇüÇ¥ÁØÄÚµåÀÔ´Ï´Ù)·Î
ÁöÁ¤µÇ¾î ÀÖ¾î¾ß ±úÁöÁö ¾Ê½À´Ï´Ù.

4. ÀÚ¹ÙºóÀ̳ª db¿¡¼­ ÇѱÛó¸® 1ÀÇ °æ¿ì¸¦ ºñÃßõÀ¸·Î ÇÏ´Â ÀÌÀ¯´Â ÀÚ¹ÙºóÀ̳ª db¿¡¼­µµ
¸ðµÎ 8859_1·Î ¸ÂÃß¾î ÁÖ¾î¾ßÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. Áï Ŭ·¡½º¸¦ ÄÄÆÄÀÏÇÒ ¶§µµ ÄÄÆÄÀÏ ¿É¼Ç¿¡ 8859_1·Î
ÁöÁ¤ÇØÁÖ¾î¾ß Ŭ·¡½º¾ÈÀÇ ÇѱÛÀÌ ±úÁöÁö ¾Ê½À´Ï´Ù. (µðÆúÆ®·Î ½Ã½ºÅÛ ¹®ÀÚ¼ÂÀ¸·Î ÄÄÆÄÀÏ, ¿øµµ´Â ´ç±Ù ÇѱۼÂ)
2ÀÇ °æ¿ì´Â euc-kr·Î ¸ÂÃß¾î ÁÖ¾î¾ßÇÕ´Ï´Ù. ´ëºÎºÐ °³¹ß½Ã½ºÅÛÀÇ ¹®ÀÚ¼ÂÀº ´ç±Ù ÇѱÛÀÌ°ÚÁÒ ^^
2ÀÇ °æ¿ì¿¡¼­ mysqlÀÇ ¿¬°áurl¿¡ unicode»ç¿ë ¿É¼ÇÀ» ÁÖ°í ¹®ÀÚ¼ÂÀ» ÁÖ¸é ±×³É µË´Ï´Ù.
(»ó¼¼ÇÑ ¿É¼Ç: jdbc:mysql://localhost/µðºñ¸í?useUnicode=true&characterEncoding=euc-kr)

¿À¶óŬµµ ½Ã½ºÅÛ ¹®Àڼ¿¡ µû¶ó ¾Ë¾Æ¼­ µ¿ÀÛÇϴµ¥ 
db°¡ asc7Àΰ¡(°©Àڱ⠱â¾ï¾È³²) À϶§ ¹®Á¦°¡ ÀÖ´Â °æ¿ì°¡ Àִµ¥ ÀÌ°æ¿ì ¿À¶óŬ Ŭ¶óÀ̾ðÆ®¸¦
°°ÀÌ ¸ÂÃß¾îÁÖ°í getString(...)¸Þ¼Òµå¸¦ ÀÐÀ» ¶§ new String(XXX.getBytes(8859_1), "euc-kr")·Î 
º¯È¯ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ°Ç ¿À¶óŬ jdbcµå¶óÀ̹ö°¡ db asc7 --> client euc-kr º¯È¯À» ¸øÇØÁÖ´Â °Í °°½À´Ï´Ù.
asc7 --> 8859_1 --> euc-kr ¿ä·¸°Ô µÎ¹ø ÇØÁÖ¾î¾ß Çϴµ¥ asc7 --> euc-kr ¿ä·¸°Ô ¹Ù·Î Çعö¸®´Ï±î
ÇѱÛÀÌ ±úÁö´Â °Í °°½À´Ï´Ù.(¿À¶óŬ jdbc ½ºÆåÀ» È®ÀÎÇغ¸¼¼¿ä..)

´ëÃæ ÇÑ±Û ¹®Á¦¿¡ ´ëÇؼ­ ¾ê±â¸¦ Çߴµ¥ ¾à¼Ó½Ã°£ÀÌ ±ÞÇؼ­ È®ÀÎ ¾ÈÇÏ°í ´ëÃæ °©´Ï´Ù.
Ʋ¸° °ÍÀÌ ÀÖÀ¸¸é ¸®Çø¦ ´Ù¼¼¿ä... ±×·³... ^^;;; (´Ê¾ú´Ù)


Ãâó : Tong - Èƽº±¸¶ôºÎ´ÔÀÇ JSPÅë


===================================================================================================================



========================================== 
(3)mySQL¿¡ ÀúÀåÇÒ °æ¿ì ÇÑ±Û ¹®Á¦ 󸮹ý 
========================================== 
DBÀúÀå½Ã ÇÑ±Û ÀúÀå ¹®Á¦°¡ ¹ß»ýÇÏ´Â ÀÌÀ¯´Â 
DB Server¿Í JSP°¡ »ç¿ëÇÏ´Â ÄÚµå üÁ¦°¡ ´Ù¸£±â ¶§¹®ÀÔ´Ï´Ù. 

DB´Â ÀϹÝÀûÀ¸·Î ASCII³ª ksc5601ÄÚµå ü°è¸¦ »ç¿ëÇÏ°í 
JSP´Â Unicode¸¦ »ç¿ëÇÕ´Ï´Ù. 

------------------------------------------------------------------- 
Class.forName(org.gjt.mm.mysql.Driver"); 
String URL="jdbc:mysql://localhost/myDB<font color=red>?useUnicode=true&characterEncoding=euc-kr</font>" 
Connection conn=DriverManager.getConnection("URL","user","password") 
---------------------------------------------------------------------- 
jdbcºÎºÐÁß¿¡¼­ »¡°­»öÀ¸·Î ÀûÈù ºÎºÐÀ» ³Ö¾î ÁÖµµ·Ï ÇÏÀÚ. 
TomcatÀÌ ¾Æ´Ï¶ó <font color=red>Resin</font>ÀÏ °æ¿ì´Â euc-krÀÌ ¾Æ´Ï¶ó <font color=red>ksc5601</font>ÀÓ¿¡ À¯ÀÇÇÏÀÚ. 

</pre> 
¹è¼ºÈ¯ 
2004-01-16 13:34:20 

============================================ 
(1)JSP ÆäÀÌÁö³»¿¡¼­ Çѱ۹®Á¦ 󸮹ý 
============================================ 
¾Æ·¡¿Í page Directive ¼Ó¼ºÀ» euc-kr(¶Ç´Â EUC_KR)·Î ÁöÁ¤ÇÏ¸é µÈ´Ù. 

------------------------------------------------------ 
<%@ page contentType="text/html;charset=euc-kr" %> 
------------------------------------------------------- 
ÃÖ±Ù Á¤º¸¿¡ µû¸£¸é euc-kr´ë½Å¿¡ 'MS949'(´ë¹®ÀÚ·Î)¸¦ ¾²´Â °ÍÀÌ ÁÁ´Ü´Ù. 

Âü°í; '*.jsp'°¡ ¾Æ´Ñ ¼ø¼ö HTML(*.html or *.htm)ÆÄÀÏÀÏ °æ¿ì 
¾Æ·¡¿Í °°ÀÌ HTMLÀÇ metaű׸¦ ÀÌ¿ëÇÑ´Ù.(¹°·Ð default°ªÀÌ´Ù) 
---------------------------------------------------------------------- 
<meta http-equiv="Content-Type" content="text/html;charset=euc-kr"> 
---------------------------------------------------------------------- 
¸¸ÀÏ, OS(À¥¼­¹ö ¸»°í)°¡ Win2kÀÏ °æ¿ì´Â 
¸Ç¸¶Áö¸·ÀÇ 'charset=euc-kr'´ë½Å¿¡ 'ksc-5601'·Î ÁöÁ¤ÇÑ´Ù. 
Áï ¾Æ·¡¿Í °°´Ù. 
---------------------------------------------------------------------- 
<meta http-equiv="Content-Type" content="text/html;charset=ksc5601"> 
---------------------------------------------------------------------- 


¹è¼ºÈ¯ 
2004-01-16 13:35:20 
x
======================================================== 
(2)HTTP·Î Àü¼ÛµÈ °ÍÀ» ¹ÞÀ» °æ¿ì Çѱ۹®Á¦ 󸮹ý 
======================================================== 
ÀÌ ¹®Á¦´Â JSP Container¸¶´Ù Á¶±Ý¾¿ ´Ù¸£°Ô ó¸®ÇØ Áà¾ß ÇÑ´Ù. 

Áغñ¿îµ¿ ; 
ÇѱÛÀ» Áö¿øÇÏ´Â Äڵ忡´Â euc-kr(¶Ç´Â ksc5601)°ú 8859_1ÀÌ ÀÖ´Ù°í Çß½À´Ï´Ù. 
# euc-kr : jsp ÆäÀÌÁö³»¿¡¼­ »ç¿ëµÇ´Â ÇÑ±Û ÀÎÄÚµù ¹æ½Ä. 
# 8859_1 : input¹Ú½º¸¦ ÅëÇؼ­ http·Î Àü¼ÛµÇ¾î¼­ request.getParameter()·Î ¹ÞÀ» ¶§ 
ÀúÀåµÇ´Â ÇÑ±Û ÀÎÄÚµù ¹æ½Ä. 

¾Õ¼­ ÆäÀÌÁö Áö·É¹®¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÁöÁ¤Çߴµ¥ ¹®Á¦°¡ ÀϾ°Ô µË´Ï´Ù. 

ÀÌ °æ¿ì ÆäÀÌÁö³»¿¡¼­ Ãâ·ÂÇÏ°íÀÚ ÇÏ´Â ÀÎÄÚµùÇüÅ´ euc-krÀε¥, 
http¸¦ Ÿ°í Àü¼ÛµÈ ±ÛÀº 8859_1·Î ÀÎÄÚµùµÇ¾î Àֱ⠶§¹®¿¡ ÇѱÛÀÌ ¸ðµÎ ±úÁ®¹ö¸³´Ï´Ù. 


------------------ 
ÇØ°áÃ¥ 
------------------ 
±× ÇØ°á¹æ¹ýÀº 8859_1·Î Àü¼ÛµÇ¾î ¿Â ±ÛÀ» euc-kr·Î º¯È¯ÇÏ´Â °ÍÀÔ´Ï´Ù. 

ÀϹÝÀûÀ¸·Î ¹ÞÀº µ¥ÀÌÅ͸¦ ÄÚµå º¯È¯ÇÒ ¶§´Â 
StringÇüÀÇ °ªÀ» byteÇüÀ¸·Î º¯È¯ÇÏ´Â getBytes()¸Þ¼Òµå¸¦ ±âº»ÀûÀ¸·Î ÀÌ¿ëÇÑ´Ù. 


¿ø·¡ ¹®; String name=request.getParameter("name"); //ResinÀÏ °æ¿ì 󸮰¡ ÇÊ¿ä¾ø´Ù. 
******************************************************************************************* 
º¯°æ ÈÄ; String name=new String(request.getParameter("name").getByets("8859_1"),"euc-kr"); 
******************************************************************************************** 

8859_1ÄÚµå·Î Àü¼Û¹ÞÀº ±ÛÀ» euc-krÄÚµå·Î º¯È¯Çؼ­ ¹Þ°í ÀÖ´Ù. 



¹è¼ºÈ¯ 
2004-01-16 13:36:11 
x
====================================== 
Container¿¡ µû¸¥ ÇÑ±Û ¹®Á¦ ó¸® ¿ä¾à 
====================================== 
ÇÑ±Û Ã³¸® ÀÛ¾÷Àº JSP Container¿¡ µû¶ó Á¶±Ý¾¿ ´Ù¸£¸ç 
ÇØ´ç ContainerÀÇ ¹öÀü¿¡ µû¶ó Â÷ÀÌ°¡ ÀÖÀ» ¼öµµ ÀÖ¾î 
¾à°£ º¹ÀâÇÒ ¼öµµ ÀÖ½À´Ï´Ù. 

==================================================================== 
1. Resin ; jsp³»ÀÇ page ¼Ó¼ºº¯°æ, ¹ÞÀ» °æ¿ì ºÒÇÊ¿ä, dbÀúÀå½Ã ksc5601·Î 
===================================================================== 
ÀÌ°æ¿ì´Â ¾Æ·¡¿Í page Directive ¼Ó¼ºÀ» euc-kr(¶Ç´Â EUC_KR)·Î ÁöÁ¤ÇÏ¸é µÈ´Ù. 

------------------------------------------------------ 
<%@ page contentType="text/html;charset=euc-kr" %> 
------------------------------------------------------- 
ÃÖ±Ù Á¤º¸¿¡ µû¸£¸é euc-kr´ë½Å¿¡ 'MS949'(´ë¹®ÀÚ·Î)¸¦ ¾²´Â °ÍÀÌ ÁÁ´Ü´Ù. 

´ÙÀ½¿¡´Â DBÀúÀå½Ã ¿É¼ÇÀ» euc-krÀÌ ¾Æ´Ñ 'ksc5601'·Î ÁØ´Ù. 
----------------------------------------------------------------------------------- 
String URL="jdbc:mysql://localhost/myDB?useUnicode=true&characterEncoding=ksc5601"; 
------------------------------------------------------------------------------------¤¤ 

ÁÖÀÇ ; http¿¡¼­ Àü¼Û µÈ ±ÛÀ» ¹ÞÀ» ¶§ ¾î¶² 󸮵µ ÇÏÁö ¾Ê´Â´Ù. 


================================================================================= 
2. Tomcat 
================================================================================= 
ÀÌ °æ¿ì´Â ¹öÀü¿¡ µû¶ó ´Ù¼Ò Â÷ÀÌ°¡ ÀÖÀ½À» ¾Ë¾Æ µÎÀÚ. 
¹°·Ð Resinó·³ page Directives ¼Ó¼ºÀ» ÁöÁ¤ÇØ Áà¾ß ÇÑ´Ù. 

TomcatÀº http·Î Àü¼ÛµÈ ±ÛÀ» ¹ÞÀ» ¶§ ¹öÀü¸¶´Ù Â÷ÀÌ°¡ ÀÖ¾î ½Å°æ½á¾ß ÇÕ´Ï´Ù. 

Tomcat ¹öÀü 3.0ÀÌÇÏÀÎ °æ¿ì 
--------------------------- 
ÀÌ ¹öÀüÀÇ ÅèĹÀº °ªÀÌ ³Ñ¾î ¿Ã¶§ 8859_1Çü½ÄÀÌ ¾Æ´Ï¶ó Cp1252·Î ³Ñ¾î ¿À±â¶§¹®¿¡ ´ÙÀ½°ú °°ÀÌ Ã³¸®ÇÑ´Ù. 

String name = new String(request.getParameter("name".getBytes("Cp1252"),"EUC_KR"); 

Tomcat¹öÀü 3.1ÀÌ»óÀÎ °æ¿ì 
--------------------------- 
ÀÌ ¹öÀüÀº 8859_1·Î ³Ñ¾î ¿É´Ï´Ù. 

String name = new String(request.getParameter("name".getBytes("8859_1"),"EUC_KR"); 



¹è¼ºÈ¯ 
2004-01-16 13:36:59 
x
---------------------- 
ÇÑ±Û Ã³¸® ÆíÇÏ°Ô Çϱâ 
---------------------- 
¿©±â¼­ ¾Ë¾Æ º¼ °ÍÀº ÇÑ±Û º¯È¯À» ÆíÇÏ°Ô ÇÏ´Â ¹æ¹ýÀÌ´Ù. 
¿ì¸®´Â Áö±Ý±îÁö ÇѱÛÀ» euc-krÀ¸·Î º¯È¯ÇÒ ¶§´Â 
´ÙÀ½°ú °°Àº ÇüÅ·Π°´Ã¼¸¦ »ý¼ºÇÏ¿´´Ù. 

String u_name = new String(request.getParameter("u_name").getBytes(8859_1","euc-kr"); 

±×·±µ¥ Á÷Á¢ ¼Ò½º¸¦ ÀÔ·ÂÇØ º» »ç¶÷À̶ó¸é ¾Ë°ÚÁö¸¸, 
ÇÑ±Û ÄÚµå º¯È¯ÇÒ ¶§¸¶´Ù ÀÏÀÏÀÌ ÀÌ·¸°Ô ±æ°Ô Ä¡´Â °ÍÀÌ 
Á¶±ÝÀº ºÒÆíÇÏ´Ù°í ´À²¼À» °ÍÀÌ´Ù. 

±×·¸´Ù¸é ¾Æ¿¹ ÇÑ±Û ÄÚµå º¯È¯ÇÏ´Â ±â´ÉÀ» 
¸Þ¼Òµå³ª ºóÀ¸·Î ¸¸µé¾î »ç¿ëÇÏ´Â °ÍÀÌ Á¶±ÝÀº ¼ö°í¸¦ ´ú¾î ÁÙ °ÍÀÌ´Ù. 

¿ì¼± ¸Þ¼Òµå·Î ¸¸µé¾î »ç¿ëÇÏ´Â ¹æ¹ýºÎÅÍ º¸ÀÚ... 

¹æ¹ý1; ¸Þ¼Òµå(toEuckr)·Î ¸¸µé¾î »ç¿ëÇϱâ 
------------------------------------------------------------------------ 
<%! 
String toEuckr(String str) throws java.io.UnsupportedEncodingException 

if(str != null) return new String(str.getBytes("ISO-8859-1","EUC-KR"); 

%> 
--------------------------------------------------------------------------- 

String u_id = toEuckr(request.getParameter("u_id")); 

ÇѱÛÀ» Æ÷ÇÔÇÑ ¹®ÀÚ¿­Àº toEuckr() ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© ó¸®ÇÑ´Ù. 


¹æ¹ý2; class·Î ¸¸µé¾î »ç¿ëÇϱâ 
---------------------------------------------------------------- 
makeKOR.java 

import java.io.*; 

public class makeKor 

public static String toEuckr(String str) throws UnsupportedEncodingException 

if(str != null) return new String(str.getBytes("8859_1","euc-kr"); 


---------------------------------------------------------------------- 

ºó »ç¿ë¹ý; 
¿ì¼± makeKOR.javaÀ» ÄÄÆÄÀÏÇÑ ÈÄ(makeKOR.class°¡ »ý¼º) 
»ç¿ëÇÒ ¶§´Â import¸¦ ÀÌ¿ëÇؼ­ ºóÀ» Æ÷ÇÔ½ÃŲ´Ù. 
---------------------------------------------------------------- 
<%! import="makeKOR" contentType="text/html;charset=euc-kr"%> 
<% 
String u_name = makeKor.toEuckr(request.getParameter("u_name")); 
%> 
------------------------------------------------------------------- 

--ÀÌ»óÀ¸·Î µÎ°¡Áö ¹æ¹ýÀÌ ÀÖÀ½À» ¾Ë¾Æ º¸¾Ò´Âµ¥, 
ÀڱⰡ ÆíÇÑ ¹æ¹ýÀ» ÀÌ¿ëÇÏ¸é µÇ°Ú´Ù....^================^ 



============================= 
getByte()¸Þ¼Òµå ÀÚ¼¼È÷ ¾Ë±â 
============================= 
»ç¿ëÇü½Ä; getByte(String enc) 

(1)Á¤ ÀÇ ; StringÀ» ¸Å°³º¯¼ö·Î ÁÖ¾îÁö´Â charsetÀ¸·Î º¯È¯. 
(2)¸Å°³º¯¼ö ; US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE, UTF-16µî 
(3)¸®ÅÏ °ª ; byte[] 
(4)¿¹¿Ü »óȲ; ¹ß»ýµÇ´Â exceptionÀº UnsupportedEncodingExceptionÀÌ ÀÖ´Ù. 
ÀÌ exceptionÀº 'java.io.*'¸¦ importÇØ¾ß »ç¿ë°¡´ÉÇÏ´Ù. 

³×À̹ö ºí·Î±× :: Æ÷½ºÆ® ³»¿ëº¸±â 



jsp ÄÁÅ×À̳ʵµ ¼ö½Ê°¡Áö jdk µµ sun jdk, ibm jdk µÎ°¡Áö ÀÌ»óÀÌ ÀÖ°í¿ä, ¹öÀüµµ °¡Áö°¡Áö.
´õ±¸³ª DB µµ ÇÑ°¡Áö°¡ ¾Æ´Ï°í °¢ DB ÀÇ jdbc driverµµ ¼ö½Ê°¡ÁöÀÔ´Ï´Ù.

¹°·Ð ¿µ¾î´Â Àß Ã³¸®ÇÏ°ÚÁö¸¸ ¹®Á¦´Â ±¹³»¿¡¼­´Â ÇѱÛÀÔ´Ï´Ù.
os ¸¶´Ù character set ÀÌ ¶Ç ´Ù¸£°Ô ¼³Á¤µÇ¾îÀÖÁÒ.
¾Æ~ °ñ¾ÆÇÅ´Ï´Ù.

ÀÌ·² °æ¿ì jdbc ¿¡¼­ Çѱ۹®Á¦¸¦ ÇØ°áÇϴµ¥ ¸·¿¬È÷ ÀÎÄÚµùÀ» ÇØÁÖ¸é ¾ÈµË´Ï´Ù. °ÅÄ¡´Â ´Ü°è°¡ ¸¹±â ¶§¹®ÀÌÁÒ.
form (-> jsp) or (-> bean, servlet) -> jdbc driver -> DB -> jdbc driver (-> bean, servlet) -> jsp -> client browser
À̱⠶§¹®¿¡ Áß°£¿¡ ¾î¶² ³ðÀÌ ´ë»ç¸¦ ±×¸£Ä¥Áö È®ÀÎÀ» Çؾߵ˴ϴÙ.

ÀÏ´ÜÀº °¡Àå óÀ½¿¡ Á¡°ËÇÒ »çÇ×Àº
DB ¿¡¼­ È®ÀÎÇØ º¸¾ÒÀ» ¶§ ÇѱÛÀÌ ±úÁöÁö ¾Ê¾Ò³ªÀÔ´Ï´Ù.

¸¸ÀÏ ±úÁ³´Ù¸é ¹®Á¦´Â DB ¿¡ ÀÔ·ÂÇϱâ Àü±îÁöÀÇ °úÁ¤¿¡¼­ »ý±â´Â ¹®Á¦ÀÔ´Ï´Ù. ±×·² °æ¿ì form¿¡¼­ ¹Þ¾Æ¿Â °ªÀ» ´Ù¸£°Ô ÀÎÄÚµùÇϰųª ¾Æ´Ï¸é ÀÎÄÚµùµÈ °ÍÀ» ¾ø¾ÖÁְųª Çؼ­ ã¾Æ³À´Ï´Ù.

¸¸ÀÏ DB ¿¡ ÀÔ·ÂµÈ ÇѱÛÀÌ Á¦´ë·Î º¸Àδٸé DB ¿¡¼­ °¡Á®¿À´Â ºÎºÐÀ» È®ÀÎÇØ¾ß °ÚÁÒ.

ÇÏ¿©°£ Á¦°¡ °®°í ÀÖ´Â debugging ¹ýÀ̾ú½À´Ï´Ù.
µµ¿òÀÌ µÇ½Ã±æ...

Ãß°¡:
ÁÁÀº ±Û ¿Ã·ÁÁּ̱º¿©. Á¦°¡ Á¶±Ý µ¡ºÙÀ̸鿩...
¿À¶óŬÀ̳ª SQL-Server °°Àº °æ¿ì ¾ð¾î¼¼ÆÃÀ» ÇÒ¶§ À¯´ÏÄÚµå·Î ÁöÁ¤Çϸé
(¿¹¸¦ µé¸é UTF-8) µ¥ÀÌÅͺ£À̽º¿¡ Çѱ۷ΠÀß µé¾î°©´Ï´Ù.
¹°·Ð Äõ¸® ³¯·Á¼­µµ ÇÑ±Û µ¥ÀÌÅÍ º¼¼ö ÀÖ±¸¿©.
ÀÌ°É ¸ð¸£½Ã´ÂºÐµéÀº ´ëºÎºÐ µ¥ÀÌÅͺ£À̽º¿¡ ÇѱÛÀÌ ±úÁø°ÍÀ» ´Ù¸¥
¹®Á¦·Î ¾Ë°í °í»ýÀ» ÇϽõå¶ó±¸¿©.
À§¿¡ ´Ô²²¼­ ¸»¾¸ÇϽŰÍó·³ ÀÏ´Ü µ¥ÀÌÅͺ£À̽º¿¡ ÇѱÛÀÌ µé¾î°¡´ÂÁö
ºÎÅÍ È®ÀÎÇÏ´Â°Ô ÁÁ°Ú½À´Ï´Ù. ±×¸®°í³ª¼­ ÇѴܰ辿 ³ª°¡´Â°ÅÁÒ.
±è¿µÀÍ[youngick]

Ãâó : Tong - nagne82´ÔÀÇ JSPÅë


===================================================================================================================



Á¦¸ñ : [Comment] ´Ù±¹¾î ÀÎÄÚµù ¹®Á¦ÀÇ À§Ä¡

¸¹Àº ºÐµéÀÌ ´Ù±¹¾î ¶§¹®¿¡ Çì¸ÞÀÌ°í ÀÖ½À´Ï´Ù.
ÀÌ¿¡ ´ëÇØ ÀúÀÇ ÂªÀº Áö½ÄÀÌÁö¸¸ °øÀ¯ÇÒ ±î Çؼ­ ÄÚ¸àÆ®¸¦ ´Þ¾ÆºÃ½À´Ï´Ù...


±ÛÀÇ ¿µ¾ç°¡´Â µÞºÎºÐ¿¡ ÀÖ½À´Ï´Ù.
½Ã°£ ¾øÀ¸½Å ºÐµé Àå¹®ÀÎ ¸¸Å­ µÞºÎºÐÀ» ÀоîÁֽʽÿÀ. ´Ù¸¸ ¹®ÀÚ¼ÂÀÇ ±âº»Àº --;;


ÀÌ ±Û¿¡¼± DB´Â ºÎºÐÀº ¹üÀ§¹ÛÀ̱⠶§¹®¿¡ ´Ù·çÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
»ç½Ç ´ëºÎºÐÀÇ ¹®Á¦´Â DB¿ÜÀÇ °÷¿¡¼­ ¹ß»ýÇÒ °ÍÀÔ´Ï´Ù.


Àú´Â, ¿£ÄÚµù¿¡¼­ Á¦ÀÏ Áß¿äÇÑ °ÍÀ» ¾Æ·¡¿Í °°ÀÌ ºÐ·ùÇÏ¿´½À´Ï´Ù.
1. °¢ ¹®ÀÚ¼ÂÀÇ Á¾·ù¿Í ÀÌÇØ
2. ¼Ò½º ÆÄÀÏÀÇ ¿£ÄÚµù ÇüÅÂ
3. ÄÄÆÄÀÏµÈ ÆÄÀÏÀÇ ¿£ÄÚµù ÇüÅÂ
4. ÄÄÆÄÀÏµÈ ÆÄÀÏÀ» »ç¿ëÇÏ´Â ¿£ÄÚµù ÇüÅÂ
5. UTF-8ÀÇ Çʿ伺 ÀνÄ.
6. WebBrowserÀÇ ÀÌ»óÇÑ Çൿ(?)

"new String(str.getBytes("8859_1"), "EUC_KR");"
¿Í °°Àº ¹®Á¦´Â º°°³ÀÔ´Ï´Ù. (¹®ÀÚ¼ÂÀÇ Á¾·ù¿Í ÀÌÇØ°¡ ¿ì¼±ÀÌÁö¿ä)


<
1¹ø¿¡¼­ ÁÖÀÇÇØ¾ß ÇÒ °ÍÀº. Unicode¿Í Unicode(UTF-8)À» µ¿ÀϽà ¿©°Ü¼Å´Â ¾ÈµÈ´Ù´Â °ÍÀÔ´Ï´Ù.
Unicode´Â ÄÚµåÆäÀÌÁö 1200À̸ç, Unicode(UTF-8)Àº 65001 ÀÔ´Ï´Ù.
±× Å©±â ¶ÇÇÑ ´Ù¸¨´Ï´Ù. (Çϴðú ¶¥Â÷ÀÌ -_-)

- Unicode¿Í Unicode(UTF-8)À» °£´Ü Á¤¸®
Unicode´Â ¸ðµç ¹®ÀÚ¸¦ 2Byte·Î Ç¥½ÃÇÑ´Ù. - ISO-2022ÇüÅÂÀÇ ´Ù±¹¾î¿Í Â÷ÀÌÁ¡.
(¿µ¹®ÀÌ°í ´Ù±¹¾î°í ÇÊ¿ä¾ø´Ù. ¾î¶² ¾ð¾îµç 65536°¡Áö¸¦ Ç¥Çö °¡´ÉÇÏ´Ù.
ÀÌ ¶æÀº 2Byte°¡ ¾î¶² ÇüÅ·Π±¸¼ºµÇ´ÂÁö¸¦ ¾Ë ¼ö ÀÖ°Ô ÇÏ´Â ¸».)

UTF-8Àº ±âÁ¸ ASCII 1xx±îÁö À¯ÁöÇÏ¸ç ´Ù±¹¾î´Â 2, 3Byte·Î Ç¥½ÃÇÑ´Ù.
(Áï, ¿µ¹®Àº 1Byteó¸® - ¾Æ·¡¿¡¼­ ´Ù½Ã ¼³¸íÇϱ⠶§¹®¿¡ ¸Å¿ìÁß¿ä)
°í·Î, UTF-8Àº ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ »ç¿ëÇÏ¿©µµ ¼Õ»öÀÌ ¾ø´Ù.

¡Ù´Ù±¹¾î - ¿©±â¼­ ÇÊÀÚ ¸¾´ë·Î ÀçÁ¤ÀÇÇÑ ¶æÀ¸·Î ±âÁ¸ 2ByteÀÌ»óÀ» ÇÊ¿äÇÏ´ø ¾ð¾î.
(¿µ¾îµîµµ Æ÷ÇÔÇؼ­ ¸»ÇÑ´Ù°í µýÁö °ÉÁö ¸»¶õ ¶æ¿¡¼­;;;)
>


<
2¹øÀ» ÀÌÇØÇÏÁö ¸øÇÏ¿´À» °æ¿ì¿¡´Â ÀÌ·¯ÇÑ ¹®Á¦µéÀÌ ¹ß»ýÇÕ´Ï´Ù.

°¡. ¸¸¾à ¼Ò½º°¡ JSPÀÏ °æ¿ì ÆÄÀÏÀ» IncludeÇÒ ¶§ A´Â Á¤»óÀε¥ B´Â ±úÁö°Å³ª
ÇÏ´Â ¹®Á¦ ¹ß»ý. (ȤÀº ±× ¹Ý´ë)
¡ØÁÖÀÇ! ¿Í´Â º°°³À̹ǷΠ¼Ò¿ë ¾ø½À´Ï´Ù.
³ª. *.java¸¦ ÄÄÆÄÀÏ ÇÑµÚ ´Ù±¹¾î »ç¿ë½Ã ±ú¾îÁ® ³ª¿Â´Ù. --;;
(staticÀ̳ª ºñ±³¹®µî¿¡ ¹Ì¸® ÀÔ·ÂÇØ ³õÀº ´Ù±¹¾î...)
¹°·Ð Runtime½Ã º¹±¸ÇÒ ¼ö ÀÖ´Â °æ¿ìµµ °ÚÁö¸¸ ±×·¸°Ô ÇÏ´Â »ç¶÷ ÀÖ´Ù¸é µûµ¹¸² ´çÇÑ´Ù´Â.... --;;

ÇØ°á¹ý :
°¡. ¼Ò½ºÆÄÀÏÀ» ¸¸µé¾î ÀúÀåÇÒ ½Ã¿¡ ÀÚ½ÅÀÌ ÀÛ¼ºÇÑ ¼Ò½ºÀÇ ¹®ÀÚ¼ÂÀ» È®ÀÎÇѵÚ
±× ¿Í µ¿ÀÏÇÏ°Ô ÀúÀåÇϵµ·Ï ÇÏ°í, ÇÁ·ÎÁ§Æ®¿¡ °ü·ÃµÈ ¸ðµç ÆÄÀÏÀ» µ¿ÀÏÇÑ ¹®ÀÚ¼ÂÀ¸·Î ÀÛ¾÷ÇØ¾ß ÇÑ´Ù´Â...
ÀÇ xxx¿¡ ÀÚ½ÅÀÌ ÀÛ¼ºÇÑ ¹®ÀÚ¼ÂÀ» µ¿ÀÏÇÏ°Ô ÀÔ·Â.
¸¸¾à ±âÁ¸¿¡ ¹Ì¸® ¸¸µé¾îµÐ ¼Ò½º°¡ ÀÖÀ» °æ¿ì¶ó¸é ¹Ø¿¡¼­ ´Ù½Ã ¾ð±ÞÇÏ°Ú½À´Ï´Ù.
³ª. ¼Ò»çÆÄÀÏÀ» ¸¸µé¾î ÀúÀåÇÒ ½Ã¿¡ ÀÚ½ÅÀÌ ÀÛ¼ºÇÑ ¼Ò½ºÀÇ ¹®ÀÚ¼ÂÀ» È®ÀÎÇѵÚ
±× ¿¡ µû¶ó ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
>


<
3, 4¹øÀÇ °æ¿ì´Â ÇöÀç·Î½á´Â °¡Á¤ÀÌ´Ù. (ȤÀº »ç½Ç - ¹°·Ð ³» ÀÚ½ÅÀº ¾ÆÁ÷ Á¢ÇÑÀûÀº ¾ø´Ù.)

ÄÄÆÄÀÏµÈ ÆÄÀÏÀÌ JVM¿¡ ÀÇÇÏ¿© ·ÎµùµÇ´Â °úÁ¤°ú RuntimeÀÇ °úÁ¤¿¡¼­ ¿£ÄÚµùÀÌ ¼­·Î´Ù¸¥ ÇüÅÂÀÇ
Class¸¦ ºÒ·¯ µé¿´´Ù¸é? ±×·¸´Ù¸é ÀÌÁß entrypoint°¡ Àִ Ŭ·¡½º°¡ µðÄÚµùÀÇ ±âÁØÀÌ
µÇ´Â °ÍÀϱî? ±×·¸´Ù¸é entrypoint¿ÜÀÇ Å¸ Ŭ·¡½º¿¡¼­ »ç¿ëµÈ ´Ù±¹¾î´Â ¸ðµÎ ±ú¾îÁú °ÍÀÌ´Ù.
¾Æ´Ï¶ó¸é Ŭ·¡½º°£ È£Ãâ½Ã JVMÀº ±× ¿¡ µû¸¥ 󸮸¦ ÇؾßÇÑ´Ù. (´À·ÁÁø´Ù.)

¹°·Ð ÇöÀçÀÇ JVMÀº ÀϹÝÀûÀ¸·Î ¸ðµç ¼Ò½º¸¦ Unicode ȤÀº UTF-8·Î ºÒ·¯µéÀÏ Å×Áö¸¸ ¾Æ´Ò °æ¿ì´Â ¾îÂî ÇØ¾ß ÇÒ ±î?
(ÄÄÆÄÀÏµÈ ÆÄÀÏÀÇ ¿øº»ÀÇ ÇüÅ°¡ ¹¹°Ç Unicode ȤÀº UTF-8·Î º¯Çü)

ÀÌ·¸°Ô 3, 4¹øÀ» ³Ñ±âÀÚ --;;
>


<
5´Â 2¹øÀÇ °æ¿ì¸¸À¸·Îµµ UTF-8ÀÇ Çʿ伺À» ´À³¢Áö ¾ÊÀ» ¼ö ¾ø°Ú½À´Ï´Ù.

¹ø°Å·Ó°Ô °æ¿ì¿¡ µû¶ó ¼Ò½º¸¦ ´Ù½Ã ¿øÇÏ´Â ÇüÅ·Π¿£ÄÚµùÇÏ¿© ¸¸µé¾î¾ß ÇÑ´Ù´Â °ÍÀº
Tool°úÀÇ ³ë°¡´Ù¸¦ °¨ÇàÇؾßÇÑ´Ù´Â °ÍÀε¥ ¸»ÀÌÁÒ.
±×·¯¹Ç·Î ÇÒ ÀÏ ¸¹(-_-)Àº ÇÁ·Î±×·¡¸Ó·Î½á´Â UTF-8À» »ç¿ëÇØ¾ß ÇÑ´Ù´Â...

¶ÇÇÑ, UTF-8ÀÇ Á¤·Ä¼Óµµ ÁäÀÔ´Ï´Ù. --b (Unicode¿ÍÀÇ ºñ±³¸¦ Á¦¿ÜÇÑ´Ù¸é.)
ÇѱÛÀÌ ¸ðµÎ ¼øÂ÷¹è¿­µÇ¾î Àֱ⠶§¹®ÀÔ´Ï´Ù. :)
±×¿¡ ºñÇØKSC5601(KSC5601-1992)´Â Á¤·Ä¼Óµµ´Â ¶³¾îÁø´Ù´Â... (°øÆ÷ÀÇ 8822ÀÚ)
>


<
Application¿¡¼­ ÇÁ·Î±×·¥ ¼Ò½ºµî(*.JSP, *.JAVA, *.TXT)ÀÇ ¿£ÄÚµå ŸÀÔÀ» ÀÚµ¿À¸·Î ÀνÄ!?!
°á·ÐÀº ÀÚµ¿ ÀÎ½Ä °¡´ÉÇÑ ¹®ÀÚ¼ÂÀÌ Àֱ⵵ ¾ø±âµµ ÀÔ´Ï´Ù.
ÀϹÝÀûÀ¸·Î 2Byte·Î µÈ ¹®ÀÚ¼ÂÀº ÀνÄÀÌ ºÒ°¡´É ÇÏÁö¸¸ Unicode´Â °¡´É ÇÕ´Ï´Ù.
ù ½ÃÀÛÀ» 16Áø¼ö·Î FF FE·Î ½ÃÀÛÇÏ´Â ¹®¼­´Â Unicode¸¦ ¾Ë¸®´Â ¹®¼­ÀÔ´Ï´Ù.
¶ÇÇÑ Unicode(UTF-8)Àº ¼­¸íÀÖ´Â Unicode(UTF-8) ¹®¼­ÀÏ °æ¿ì´Â ´ëºÎºÐ °¡´ÉÇÕ´Ï´Ù.
¾ø´Â °æ¿ì´Â °¡´ÉÇÑ ÅøÀÌ Àֱ⵵ ÇÏ°í¿ä. (¸»ÀÌ ÀÚµ¿À̱⠰ÅÀÇ °­Á¦ --)
¸¸¾à ¼­¸íÀÌ ÀÖ´Â °æ¿ì¶ó¸é EF BB BF·Î ½ÃÀÛÇÕ´Ï´Ù.
ÀÌ¿¡ µû¶ó °¢Á¾ Tool¿¡¼­ ÀÚµ¿À¸·Î ÀÐÀ» ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.
>



¼Ò½ºÀÇ ¹®ÀÚ¼ÂÀ» º¯°æ»ç¿ëÇϱâ...

ÀϹÝÀûÀ¸·Î ÇÁ·ÎÁ§Æ®ÀÇ ¸ðµç ¼Ò½º´Â ¿£ÄÚµù Çü½ÄÀÌ µ¿ÀÏÇØ¾ß ÇÏ°ÚÁÒ?
¸¸ÀÏ ±âÁ¸ ¼Ò½º°¡ Àִµ¥ ´Ù¸£´Ù¸é Çö ÇÁ·ÎÁ§Æ®¿Í ¸ÂÃß¾î¾ß ÇÒ ÅÙµ¥...
½±°Ô ±¸ÇÒ ¼ö ÀÖ´Â ÅøÀº UltraEdit°¡ Á¤µµ°¡ µÇ°Ú³×¿ä Àú´Â v9.10À» °¡Áö°í ÀÖ°í
File -> Conversions¿¡ ÀÖ½À´Ï´Ù. ÀÌ °÷¿¡¼­ ¿øÇÏ´Â ÇüÅ·Π°¡´ÉÇÏ°Ú½À´Ï´Ù.

-´Ü, Çѱ۵éÀÇ ¹®Àڼº¯È¯ ÅøÀº ¾ÆÁ÷ º¸Áú ¸øÇßÀ½. Ȥ½Ã º¸½ÅºÐ ¼Õ ^^/
Çѱۿ¡¼­ ÇÏÀ§º¯È¯Àº ¿Ïº®È÷ ¾ÈµÇ¹Ç·Î À̸¦ ¿°µÎÇؾßÇÔ.



JSP¿¡¼­ ¿Í
META TAGÀÇ contentType="text/html;charset=xxx"

À̵ÑÀ» »ç½Ç»ó ¸ðµÎ »ç¿ëÇÏ´Â °æ¿ì´Â ¿ôÁö ¸øÇÒ ÀÏÀÔ´Ï´Ù.
(½Ç·Î ´ë´ÜÇÑ À̽´ÀÔ´Ï´Ù.)

ÀÌ°÷ °Ô½Ã¹°Áß
----------------------------------------------------------------------------------
==°Ô½Ã¹° 1========================================================================
euc-kr À̳ª ksc5601 À» »ç¿ëÇÒ °æ¿ì ºê¶ó¿ìÀúÀÇ ÇѱÛÀº Àß ³ª¿Â´Ù.

´ë½Å È®ÀåÇѱÛÀ» Ç¥½ÃÇÒ ¼ö ¾ø¾î¼­ ?? , ?d , ?? °°Àº ±ÛÀÚ´Â ? ·Î ±ú¾îÁ® ³ª¿Â´Ù.

¼Ò½ºº¸±â¸¦ Çصµ ¿ÏÀüÈ÷ ±úÁø´Ù.
...
...
Áß·«
...
¼­¹öÂÊ ÇѱÛ󸮴 MS949 ·Î Á¤ÇÏ°í, ºê¶ó¿ìÀúÀÇ ÇѱÛ󸮴 ksc5601, euc-kr µîÀ¸·Î
ÇÑ´Ù. Áï ¼­¹öÂÊÀº @page ÀÇ contentType ¼Ó¼ºÀ» charset=MS949 ·Î ÅÂ±× ³»ÀÇ
ű׿¡¼­ Content-type ÀÇ °ªÀ» charset=ksc5601 ·Î ÁÖ¸é ºê¶ó¿ìÀúÂÊÀÇ
ÇѱÛ󸮸¦ ¸¶¹«¸®ÁöÀ» ¼ö ÀÖ´Ù.
==°Ô½Ã¹° 2========================================================================
NOTE: '??'°ú °°Àº È®ÀåÇѱÛÀÇ °æ¿ì´Â Ãß°¡ÀûÀÎ Å×½ºÆ®°¡ ÇÊ¿äÇÕ´Ï´Ù.
ÃßÁ¤ÄÁµ¥, 
1) MS949(Cp949)¸¦ DB(Oracle,DB2,..)°¡ Áö¿øÇϴ°¡? 
2) JVM file.encoding MS949->Cp949 ¿¡¼­ Á¤»óÀûÀÎ µ¿ÀÛÀ» Çϴ°¡?
3) default.client.encoding/client.encoding.override MS949->Cp949 ¿¡¼­ Á¤»óÀûÀÎ
µ¿ÀÛÀ» Çϴ°¡? 
4) À§ ÆÁ¹®¼­Ã³·³ META tag¿¡¼­ KSC5601À» ¹Ýµå½Ã ½á ÁÖ¾î¾ß Çϴ°¡?
==°Ô½Ã¹° 3========================================================================
Windows¿¡¼­ÀÇ JVMÀÇ Çѱ۵ðÆúÆ® ÀÎÄÚµù ij¸¯Åͼ ¹®ÀÚ¿­Àº "EUC_KR" ÀÔ´Ï´Ù.
Linux¿¡¼± "KSC5601"ÀÌ¶ó ³ª¿À´Â ±º¿ä.

±×·¯³ª "EUC_KR", "KSC5601", "EUC-KR"Àº ¸ðµÎ µ¿ÀÏÇÕ´Ï´Ù.
==================================================================================
----------------------------------------------------------------------------------
ÀÌ·± ³»¿ëÀÌ ÀÖ¾ú½À´Ï´Ù.

MS949´Â ¾ö¹ÐÈ÷ "KSC5601-1987" ÀÔ´Ï´Ù. ¶ÇÇÑ "KSC5601-1992" ÀÔ´Ï´Ù.
KSC5601À̵éÀÇ Â÷ÀÌÁ¡Àº 1992´Â 1987¸¦ ¸ðµÎ Æ÷ÇÔÇÏ°í ¹®ÀÚÀÇ À§Ä¡±îÁö ȣȯÀÌ µÇ¸ç
1987¿¡ Ãß°¡µÈ ¹®ÀÚ 8822(°øÆ÷ÀÇ)°³°¡ ÀÖ´Ù´Â °Í »ÓÀÔ´Ï´Ù.
(ÇöÀç MS OS¿¡¼­´Â ´Ü¼øÇÑ ÆùÆ®Â÷ÀÌ·Î ºÁµµ ¹«¹æ)
±×·¯¹Ç·Î ÀϹÝÀûÀ¸·Î KSC5601¶ó°í ÅëÇÕÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
(¾ö¹ÐÈ÷ MS949´Â META TAG¿¡¼­ windows-949 ȤÀº ks_c_5601-1987 ¿¡ ÇØ´çÇÕ´Ï´Ù.)

±×·¯´Ï À§¿¡ ¾ð±ÞµÈ °Ô½Ã¹°¿¡ ÀÖ´Â MS949°ü·Ã »ç°ÇµéÀº ¹«È¿-_-°¡ ¾Æ´Ò±î¿ä?

¹«½¼ ÀǹÌÀΰí ÇÏ´Ï EUC-KR(Extended Unix Code-Korean)¿¡¼­´Â ?åÀ? ±úÁöÁö¸¸ KSC5601Àº ±úÁöÁö ¾Ê½À´Ï´Ù.
¾±, ??, ??, ??, ?äÀ? ºñ±³Çغ¸¸é EUC-KRÀº ¾±¸¸À» Ç¥ÇöÇÒ »Ó ÀÔ´Ï´Ù.
KSC5601-1992´Â È®ÀåÀ» Ç¥ÇÔÇÕ´Ï´Ù. (¹°·Ð UTF-8°ú´Â ºñ±³ÇÒ °ÍÀÌ ¸øµÇÁö¸¸...)
ÇÏÁö¸¸ EUC-KRÀº È®ÀåÀ» Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù.
(À§ÀÇ °Ô½Ã¹° 3Àº 2000/05/28ÀÏÀÚ·Î ¿À·¡µÇ¾ú±â¿¡
±× ½ÃÀý KSC5601 = EUC-KR ¶ó°í ÇÑ Ç¥ÇöÇÑ °ÍÀº ±×´ÙÁö ¹®Á¦ »ïÀ»ÇÊ¿ä´Â ¾ø´Âµí --;;
´Ù¸¸ Àú °Ô½Ã¹°À» º¸°í ¾ÆÁ÷ ¸Â´Ù°í »ý°¢ÇϽô ºÐµéÀ» À§ÇÏ¿© ¾ð±ÞÇÏ¿´À½.)


¾î·µç ¾î¶°ÇÑ È¯°æÀÌ´ø WebBrowser°£¿£ ¾î¶² ¹®ÀÚ¼ÂÀÌ°Ç ½ÖÅëÇÕ´Ï´Ù.
(ÀÌÁ¡ÀÌ Áß¿äÇÕ´Ï´Ù. ¿Ö ±ú¾îÁ®¾ßÇÒ È®Àå ±Û¾¾°¡ Á¤»ó Ç¥½ÃµÇ´ÂÁö¸¦ ÀÌÁ¦ ¼³¸íÇÕ´Ï´Ù.
-MS Win XP¿¡¼­ IE 6.0°ú Nescape Navigator 7.0À» Å×½ºÆ® Çغ½. Linux, Unix¿¡¼­ ¾ÈÇغ½)

Á¦°¡ À§¿¡¼­ ¾ð±ÞÇÑ È®Àå±Û¾¾°¡ ¿Ö ÀÌ°÷ °Ô½ÃÆÇÀÌ EUC-KRÀÓ¿¡µµ ºÒ±¸ÇÏ°í ±úÁöÁö ¾Ê°í Á¤»óÀ¸·Î º¸Àϱî¿ä?


WebBrowser´Â(¾î¼¸é OS·¹º§) HTML ¼Ò½ºÀÇ ¹®ÀÚ¼ÂÀÌ ¹¹°Ç Unicode (´Ü, UTF-8 ¹®ÀÚ¼ÂÀº Á¦¿Ü)·Î º¯È¯½Ãŵ´Ï´Ù.
±×¸®°í È­¸é¿¡ Ãâ·ÂÇÕ´Ï´Ù. ÀÌ ¶§ Çʵå(INPUT TAG, TEXTAREA TAGµî)¿¡ ÀÔ·ÂÇÑ °ª ¿ª½Ã
´ç¿¬ Unicode(UTF-8ÀÎÁö´Â Á¤È®È÷ È®ÀÎÇÏÁö ¾Ê¾ÒÀ½. ÇÏÁö¸¸ UTF-8¹®ÀÚ¼ÂÀº ±×´ë·Î UTF-8) µ¥ÀÌÅÍ ÀÔ´Ï´Ù.
(´«À¸·Î´Â ±¸ºÐ ¸øÇÏÁÒ.)
±×·¡¼­ ÀÔ·ÂÇÒ ´ç½Ã¿¡´Â ¸ðµç ¹®ÀÚ¸¦ ÀÔ·ÂÇÒ ¼ö°¡ ÀÖ´Â °ÍÀÔ´Ï´Ù.
Ç㳪 °ªÀ» ¼­¹ö·Î º¸³»¸é HTTP Header (ȤÀº META TAG)¿¡ Á¤ÀÇµÈ ¹®ÀÚ¼ÂÀ¸·Î ÄÁ¹öÆà ÇÕ´Ï´Ù.
(Server·Î Àü¼ÛµÇ´Â TCP/IP µ¥ÀÌÅ͸¦ º¸¸é Áõ¸í °¡´É)
ÀÌ ¶§ ÄÁ¹öÆà ºÒ°¡´ÉÇÑ ¹®ÀÚ´Â &# + Unicode°ª À¸·Î º¯°æµË´Ï´Ù. ±×·¸°Ô ¼­¹ö·Î ³¯¶ó°¡´Â °ÍÀÔ´Ï´Ù.
(ÀÌ °ª¸¸À¸·Îµµ ¾Ë ¼ö ÀÖ°ÚÁö¸¸ EUC-KRÀº KSC5601¿¡ ºñÇØ È®ÀåÇѱÛÀÌ ºÎÁ·ÇÏ´Ü°ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.)

¸¸¾à ¼­¹ö¿¡ ³¯¶ó°£ ¿£ÄÚµù ŸÀÔÀÌ KSC5601ÀÌ¿´Áö¸¸ ±úÁö´Â ¹®ÀÚ°¡ ÀÖ¾ú´Ù¸é, ±× ±úÁö´Â ¹®ÀÚ´Â
&# + Unicode ÇüÅ·Π°è¼Ó º¸Á¸µÇ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. DB¿¡ ¿ª½Ã ±×·¸°Ô ÀԷµ˴ϴÙ.
±×·¸´Ù°í ÇÑ´Ù¸é ´«Ä¡ºü¸¥ ºÐµéÀº ¹ú½á ÇÑ°¡Áö ÀÌ»óÀÇ ¹®Á¦¸¦ ÁöÀûÇÏ½Ç °ÍÀÔ´Ï´Ù.

ù°. &# + Unicode ·Î Ç¥ÇöµÈ ¹®Àڴ Ư¼ö󸮸¦ ÇÏÁö ¾Ê´Â´Ù¸é ¿µ¿øÈ÷ ±×·¸°Ô µÇ¾î ÀÖ´Ù´Â °ÍÀ»...
(¸¹Àº ¹®ÀÚ¼ÂÀ» º¸½Ã¸é ¾Ë°ÚÁö¸¸ ACSII´Â À¯ÁöµÇ±â ¶§¹®ÀÔ´Ï´Ù.)
°í·Î, WebBrowser ÀÌ¿ÜÀÇ °÷¿¡¼­´Â ¹®Á¦°¡ --;;
-ÀÌ ¶§¹®¿¡ DB¿¡¼­ °Ë»öÇÒ °æ¿ì¿¡ ¹®Á¦°¡ ÀÖ´Ù.

µÑ°. ±âÁ¸ &# + Unicode¸¦ ÃßÈÄ Unicode, UTF-8µî¿¡ ¸¶À̱׷¹ÀÌ¼Ç ÇÒ ¶§ µû·Î ÀÛ¾÷ ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù.
(Á¦°¡ ¾ÆÁ÷ ÀÚµ¿º¯°æÇØÁÖ´Â ÅøÀº ¸ø ºÃ½À´Ï´Ù. --;;
¹¹ ±×¸® ¾î·Á¿î°Ç ¾Æ´ÏÁö¸¸ ¾çÀÌ Å©¸é Å«ÀÏÀÎ °Í ¸¸Àº È®½ÇÇÕ´Ï´Ù.)

¼Â°. DBÀÇ ÇʵåÀÇ ±æÀÌ°¡ °³¹ßÀÚ°¡ ¿øÇß´ø ±æÀ̸¦ ¹þ¾î³¯ ¼öµµ ÀÖ´Â ¹®Á¦.
&# + Unicode´Â ÃÖ´ë 7ÀÚÀÇ ±æÀ̸¦ °¡Áý´Ï´Ù. (MAX : ??) ±×·³ EUC-KRÀ̳ª KSC5601·Î DB¿ë·® ¾Æ³¢·Á´Ù
Çʵå±úÁö°í Çʵå±æÀÌ Á¦ÇÑ ¾øÀ¸¸é ¿ÀÈ÷·Á UnicodeȤÀº UTF-8º¸´Ù ¿ë·®¸¸ Áõ°¡ÇÏ°í --;;

³Ý°. °£È¤ °Ô½Ã¹°µî ³»¿ëÀ» º¸¸é &# + Unicode°ªÀÌ ±× ´ë·Î º¸ÀÌ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
ÀÌÀ¯´Â Á¦°¡ ÀÏÀü¿¡ ¿Ã¸° °Ô½Ã¹° ³»¿ë¿¡µµ ¾ð±ÞÇßµí & À» &·Î º¯ÇüÇÏ¿´±â ¶§¹®ÀÔ´Ï´Ù.
Áï, &¸¦ &·Î ¿ø·¡´ë·Î ³õÀ¸¸é ÷¿¡ ÀÔ·ÂÇßÀ» ´ç½ÃÀÇ ¹®ÀÚ°¡ º¸ÀÌ´Â °ÍÀÔ´Ï´Ù.

´Ù¼¸Â°. ¾î¼¸é MS¿ÜÀÇ OSȯ°æÀº ±× ¹®ÀÚ¸¦ Ç¥ÇöÇÒ ¹æ¹ýÀº Ư¼ö󸮸¦ ÇÏÁö ¾Ê´Â ÀÌ»ó
ÇöÀç·Î½á´Â ¾øÀ» ¼öµµ ÀÖ½À´Ï´Ù. (Á¦°¡ Linux, Unix¿¡¼± ¾ÈÇغ»Áö¶ó --;;)

Âü°í.
'?' <- ÀÌ ¹®ÀÚ´Â Unicode¿Í UTF-8¹®ÀÚ¼ÂÀÌ ¾Æ´Ï¸é ±úÁý´Ï´Ù.
WebBrowser¿¡¼­ º¸´Â µ¥´Â ÁöÀå ¾ø½À´Ï´Ù. Áö±Ýµµ º¸À̽ÃÁÒ?
ÀÌ '?'´Â ¼­¹ö¿¡ Àü´Þ µÉ ¶§ ? ÀÌ·¸°Ô º¯ÇüµÇ¾î Àü´Þ µË´Ï´Ù.
(Áö±Ý ÀÌ °Ô½ÃÆÇ¿¡¼­ WebBrowserÀÇ ¼Ò½ºº¸±â¸¦ Çصµ ¾Ë ¼ö ÀÖ½À´Ï´Ù.)




Á¤¸®ÇÏÀÚ¸é
1. Á¤¸»ÀÌÁö UTF-8Àº ²À ÇÊ¿äÇϸç (Çѱ۸¸ »ç¿ëÇÑ´Ù ÇÒ Áö¶óµµ) ÇÊ¿äÇÑ ½Ã±â´Â Áö±ÝÀÔ´Ï´Ù.
2. MS949 ¿Í KSC5601Àº °°À¸´Ï À§¿¡¼­ ¾ð±ÞÇÑ MS949»ç°Ç(?)Àº Á¤È®¼ºÀ» À§ÇØ
¿©·¯ ȯ°æ¿¡¼­ (JAVAÀÇ °¢ ¹öÁ¯º° µîµî) Àç Å×½ºÆÃÀÌ ÇÊ¿äÇÒ °ÍÀ¸·Î »ç·áµË´Ï´Ù.
- ½ÇÁ¦ Á¦°¡ MS949·Î ¼­¹ö¿¡¼­ 󸮶ó´Â °÷¿¡ °¡¼­ HTTPÇÁ·ÎÅäÄÝ·Î Àü¼ÛµÇ´Â °ªÀ» È®ÀÎÇÑ °á°ú
KSC5601°úÀÇ Â÷À̸¦ ¸ø ºÃ½À´Ï´Ù.
Servlet, JSP, HTMLÆäÀÌÁö = ksc5601·Î Çؼ­ ´Ù½Ã Çѹø Å×½ºÆ® Çغ¸¼ÌÀ¸¸é ÇÔ.
3. WebBrowser°¡ ¹öÁ¯°ú OSº°·Î ¾î¶°ÇÑ ÇüÅ·Π¼­¹ö¿¡ °ªÀ» Àü´ÞÇÏ´ÂÁö Á¤È®È÷ ¾Ë¾Æ¾ß ÇÕ´Ï´Ù.
¶ÇÇÑ ÀÌ ¶§¹®¿¡ JSPµî WebBrowser¿Í Åë½ÅÇϴ ó¸®´Â DBÀÇ Æ¯¼ºÀ» ¾Èź´Ù°í ºÁµµ ¹«¹æ.
(´ëºÎºÐ DBÀÇ ¿£ÄÚµùÀ» EUC-KR, KSC5601·Î ÇÏ°í ÇÁ·Î±×·¥ ¿ª½Ã ±×·¸°Ô Â¥±â¿¡)
4. JAVA¿¡¼­ EUC-KRÀ» »ç¿ëÇÏ½Ç °Å¶ó¸é KSC5601À» ÃßõÇÕ´Ï´Ù.
(´Ü, Á¤·Ä½Ã ¼ÓµµÀúÇÏ È¤Àº ¾û¶×ÇÑ ¼ø¼­ ¿ì·Á)
5. EUC-KR°ú KSC5601ÀÇ »óÈ£º¯È¯À» Çã¿ëÇÏÁö ¸»ÀÚ. (ƯÈ÷ KSC5601-1992¿¡ ¹®Á¦°¡ ÀÖÀ½)


¡Ø ¹®ÀÚ´Â bits¿Í FontÀÇ Àå³­À̶õ°É ÀØÁö ¸¶¼¼¿ä. 
(FontÀÇ Àå³­¿¡ Ưº°È÷ ÁÖÀÇÇϽʽÿÀ.
bits°ªÀº Á¤»óÀε¥ OSµû¶ó Ç¥½ÃµÇÁö ¾Ê´Â °æ¿ìµµ ÀÖ°í Tools¿¡ µû¶ó Ç¥½ÃµÇÁö ¾Ê´Â °æ¿ìµµ...
±×·¯¹Ç·Î ¹®Á¦°¡ µÇ´Â °÷¿¡¼­´Â Ç×»ó bits°ªÀ» È®ÀÎÇÏ´Â ½À°üÀ»...)



Áö±Ý²¯ Á¤¸®°¡ ¾ÈµÇ¾ú´Ù¸é ¾ÈµÈ Àå¹® ÀоîÁÖ½Å°Í °¨»çµå¸³´Ï´Ù.
À߸øµÈÁ¡ ÀÖÀ¸¸é ÁöÀûÇÏ¿© Áֽñ¸¿ä

°Ç½ÂÇϽʽÿÀ.


==================================================================================
ÀÌ ±ÛÀº EmotionalBrainÀÌ ÀÛ¼ºÇÏ¿´À¸¸ç óÀ½ °Ô½ÃµÈ °÷Àº www.javaservice.net ÀÔ´Ï´Ù.

ÀÌ ±ÛÀ» ¾îµð¿¡ »ç¿ëÇϵç ÀÛ¼ºÀÚ¿Í ¿ø Ãâó´Â Áö¿ï ¼ö ¾ø½À´Ï´Ù.

2002.12.01
==================================================================================





P.S
À§¿¡ "°Ô½Ã¹° 1" ¿¡¼­ ¾ð±ÞµÈ ³»¿ëÀ» Àá±ñ ¸»ÇÏÀÚ¸é
JSP¿¡¼­ ¶ó°íÇÏ¸é ¾Æ½Ã°ÚÁö¸¸
XXX°¡ META TAGº¸´Ù HTTP Header¿¡ Context-TypeÀÌ ¸ÕÀú ³¯¶ó°©´Ï´Ù.
ÀÌ ¶§ JSP¿¡¼­ MS949¶ó°í Çϸé HTTP Header¿¡¼­µµ MS949¶ó ³¯¶ó°¡´Âµ¥ WebBrowser¿¡ ±×·±°Ô
¾ø´Ù´Â °É °¨¾ÈÇϸé JAVAÀÇ È²´çÇÔÀÌ --;;
MS949´Â ¾ö¹ÐÈ÷ ¸»Çϸé META TAG¿¡¼­ "windows-949" ȤÀº "ks_c_5601-1987" ¿¡ ÇØ´çÇϴµ¥
±×´ë·Î "MS949"°¡ -_-;;
±×´ö¿¡ META TAG¿¡ µû·Î windows-949³ª "ks_c_5601-1987"¸¦ ¹«Á¶°Ç ³Ö¾î¾ß ÇÑ´Ù´Â...
¾îÂîµÆ°Ç MS949´Â KSC5601À̱⠶§¹®¿¡ KSC5601·Î¸¸ ¸ðµÎ ó¸®Çϸé MS949´Â ÇÊ¿ä ¾ø½À´Ï´Ù.


P.S 2
ÀÌ°Å ÀÛ¼ºÇÒ¶ó±¸ ÀÌ°Í°ú °ü·ÃµÈ À©µµ¿ì ⸸ Áö±Ý 30°³°¡ ¶° Àֳ׿ä --;;
¹«·Á 5½Ã°£ Çãºñ --;; (È®½ÇÇÏ°Ô ¾²·Á±¸ ¸¹Àº ³ë·ÂÀ» Ç߱⿡...)
NavigatorµÎ MS OS¿¡ ÷ ±ò¾Æº¸°í --;;
(±Ùµ¥ Á¦ ÄÄÀÌ »¡¶ó¼­ÀÎÁö Navigator°¡ ¿¹Àü¿¡ ºñÇØ ½ÇÇà¼Óµµ ¹«Áö »¡¶óÁ³³×¿ä!)


===================================================================================================================



ÇÑ±Û ¹®Á¦ Á¤¸®

1.Servlet/JDBC¿¬µ¿¿¡¼­ Çѱ۹®Á¦ 
---------------------------------

>Oracle JDBC¸¦ ¼³Ä¡Çϱ¸¿ä, ¿¹Á¦ EmpServlet¸¦ ¼öÇàÇϸé 
>ÇѱÛÀÌ ±úÁ®¼­ ³ª¿À´Â±º¿ä. 

>Ç϶ó´Âµ¥·Î HDriverManager¸¦ »ç¿ëÇÏ¿´´Âµ¥ Compile¿¡·¯°¡ ³ª¿À´Âµ¥¿ä.. 
>¾îÂîµÈ°ÇÁö.. 

>±×¸®±¸ ¿À¶óŬ SettingÀÌ USA7ASCII·Î µÇ¾îÀÖÀ¸¸é »ó°ü¾øÁö ¾Ê³ª¿ä 

Servlet¿¡¼­ DB¿Í ¿¬°áÇÏ¿© ÀÛ¾÷½Ã ÇÑ±Û ¹®Á¦´Â »ó´çÈ÷ °ñÄ¡ ¾ÆÇ ¹®Á¦ 
ÀÔ´Ï´Ù. 
ÀÌ´Â Java¿¡¼­´Â ³»ºÎÀûÀ¸·Î Unicode¸¦ »ç¿ëÇÏ°í DB¿Í OS¿¡¼­´Â ´Ù¸¥ 
encodingÀ» »ç¿ëÇϱ⠶§¹®¿¡ ÀϾ´Â ¹®Á¦ÀÔ´Ï´Ù. 

¸ÕÀú ¾î¶² OS¿¡¼­ ServletÀ» ±¸µ¿ÇÏ°í ÀÖ´ÂÁö ±Ã±ÝÇϱº¿ä. 
Windows¶ó´Â OS¿¡¼­ MS949¶ó´Â encodingÀ» ±âº»ÀûÀ¸·Î »ç¿ëÇÏ°í ÀÖ°í 
Java ¼Ò½º ÆÄÀÏÀ» ÄÄÆÄÀÏÇÒ¶§ À̸¦ »ç¿ëÇÕ´Ï´Ù. 

Servlet¿¡¼­ ÇÑ±Û ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ­´Â ¸ðµç encoding¹æ¹ýÀ» Çϳª·Î 
ÅëÀÏÇÏ¸é µË´Ï´Ù. 

Java ¼Ò½º¸¦ MS949 encodingÇüÅ·ΠÄÄÆÄÀÏ ÇÏ¿© »ç¿ëÇÏ°í DB¸¦ US7ASCII 
ÇüÅ·Π»ç¿ëÇÑ´Ù¸é DB¿¡ ÀڷḦ ³ÖÀ»¶§´Â ÀڷḦ ISO-8859-1 ÇüÅ·Πencoding 
ÇÏ°í DB¿¡¼­ ÀڷḦ °¡Á®¿Ã ¶§´Â KSC5601¶Ç´Â MS949ÇüÅ·ΠencodingÇϸé 
µË´Ï´Ù. 
encodingÇϱâ À§Çؼ­´Â String object¸¦ byte[]·Î ¸¸µé°í À̸¦ ´Ù½Ã StringÀ¸·Î 
¸¸µé¸é¼­ encoding ruleÀ» Àû¿ëÇϵµ·Ï ÇÏ¸é µË´Ï´Ù. 







2.ÇÑ±Û Àоî¿À±â¿¡ ¹®Á¦°¡ Àִµ¥¿©... 
----------------------------------------

>JDK1.3À» »ç¿ëÇÏ´Ù°¡ JDK1.4·Î ¾÷±Û ÁßÀ©.. 
>À¥¿¡¼­ ¹Þ¾ÆµéÀÎ ÇÑ±Û °ªµé(request.getParameter()ÇÑ °ªµéÀ»)À» 
>Áö±Ý±îÁö JDK1.3¿¡¼­´Â 
>URLDecoder.decode(String str) ·Î Çؼ­ º¯È¯ÇØ ÀÌ¿ëÇ߰ŵ翩.. 
>±×·¯¸é ÄÄÇ»ÅÍÀÇ È¯°æ ¼³Á¤¿¡ µû¶ó¼­ Àß º¯È¯ÀÌ µÇ¾ú½À´Ï´Ù. 
>±×·±µ¥ JDK1.4 ºÎÅÍ´Â URLDecoder.decode(String str, String enc)·Î µÇ¾î ÀÖ±¸¿© 
>URLDecoder.decode(String str)Àº deprecate µÇ¾î¼­ »ç¿ëÀÌ ¾ÈµÇ°Åµç¿©.. 
>±×·¡¼­ URLDecoder.decode(String str, String enc)¸¦ ÀÌ¿ëÇÏ·Á°í Çϴµ¥ 
>enc °ªÀ» "UTF-8", "euc-kr", "ISO-8859-1"·Î Çؼ­ Çغôµ¥ 
>À¥¿¡¼­ ¹Þ¾ÆµéÀÎ ÇÑ±Û °ªÀ» Á¦´ë·Î decoding ÇÏÁö ¸øÇϳ׿©.. 
>enc °ªÀ» ¾î¶»°Ô ¼³Á¤ÇØ¾ß Çϳª¿©? 


>JDK1.3¿¡¼­ ÇÑ±Û °ªÀ» Àоî¿À±â´Â ¾Æ·¡¿Í °°ÀÌ Çß½À´Ï´Ù. 
>String hangul = URLDecoder.decode(request.getParameter("hangul")); 

>JDK1.4¿¡¼­´Â ¾î¶»°Ô ÇØ¾ß ÇÏ´Â °ÅÁ®? 


decode¸¦ ÇÏÁö¸¶½Ã±¸¿ä.. 
Àü¿ªÀ¸·ç 
<%! String makeKOR(String str)throws java.io.UnsupportedEncodingException 

String kor=""; 
if(str==null) 
kor=null; 
else 
kor=new String(str.getBytes("ISO-8859-1"),"EUC-KR"); 
return kor; 


%> 

ÇÑ ´ÙÀ½¿¡ ºÒ·¯¿Ã¶§ 

makeKOR(request.getParameter("hangul")); ·Î »ç¿ëÇϼ¼¿ä... 










3.ÇѱÛÈ­ÀÏ ´Ù¿î·Îµå ¹®Á¦..
----------------------------

import java.io.*; 

public class JDU{ 

public static String get8859_1(String ko){ 
if (ko == null) { 
return null; 


try { 
return new String(ko.getBytes("EUC_KR"),"8859_1"); 
} catch(Exception e) { 
return ko; 


public static String getEUC_KR(String en){ 
if (en == null) { 
return null; 

try { 
return new String (en.getBytes("8859_1"), "EUC_KR"); 
} catch(Exception e) { 
return en; 



À§ ¼Ò½º¸¦ ÆÐÅ°È­ ½ÃÄѼ­... 
ÇѱÛÈ­ ÇÏ°íÀÚ ÇÏ´Â ºÎºÐ¿¡¼­ 

String filename = req.getParameter("filename"); 
filename = JDU.getEUC_KR((filename)); 

static ¸Þ¼Òµå À̱⠶§¹®¿¡ ¾²½Ç¶§ °´Ã¼ »ý¼º¾øÀÌ Å¬·¡½º.¸Þ¼Òµå() 
ÀÌ·±½ÄÀ¸·Î ¾²½Ã¸é µË´Ï´Ù.. 



>String filename = req.getParameter("filename");//´Ù¿î ¹ÞÀ»¶§ ÀúÀåµÇ´Â À̸§ 
>filename = URLDecoder.decode(filename);//ÇÑ±Û ¶«½Ã ³Ö¾îÁÜ 

>=========================================== 

>±×·±µ¥ ÄÄÆÄÀÏÀ» Çغ¸´Ï ¿¡·¯Ç¥½Ã´Â ¾Æ´Ñµ¥ ¾Æ·¡¿Í °°Àº ¸Þ¼¼Áö°¡ ³ª¿É´Ï´Ù. 

>Note: Down_Bean.java uses or overrides a deprecated API. 
>Note: Recompile with -deprecation for details. 

>±×·¡µµ ÀÏ´Ü ½ÇÇàÀ» ½ÃÄѺýÀ´Ï´Ù.. ¿ª½Ã³ª ¾ÈµÇ´õ±º¿ä.. 

>±×·¡¼­ api¸¦ ã¾Æ¼­ ºÃ´õ´Ï ¸Þ¼Òµå°¡ µÎ°³ ÀÖ¾ú½À´Ï´Ù.. 
>Àμö¸¦ Çϳª ³ÖÀº°Å¶û µÎ°³ ³Ö´Â°Å¶û µÎ°³ Àֱ淡 Çϳª ³Ö¾î¼­ À§¿Í °°Àº ¸Þ¼¼Áö°¡ Ãâ·ÂÀÌ µÇ¾úÀ¸¹Ç·Î Àμö¸¦ ÀÓÀÇ ´ë·Î ¾Æ·¡¿Í °°ÀÌ µÎ°³ ³Ö¾îºÃ´õ´Ï ¸Þ¼¼Áöµµ ¾È¶ß°í ¿¡·¯ Ç¥½Ãµµ ¾È³µ½À´Ï´Ù.. 

>filename = URLEncoder.encode(filename,filename); 

>±×·¡¼­ ½ÇÇàÀ» Çغôõ´Ï À̹ø¿¡´Â ¾Æ¿¡ ÆäÀÌÁö°¡ ¾Æ¹«°Íµµ ¾È¶ß¸é¼­ ÇÏ¾á »óÅ·ΠÀÖ½À´Ï´Ù.. 

>±×·¡¼­ Á¦ ³ª¸§´ë·Î ¾Æ·¡¿Í °°ÀÌ ¼Ò½º ¼öÁ¤À» ÇغÁ¼­ ½ÇÇàÀ» ÇØ ºÃ´õ´Ï ¿ª½Ã ¶È°°Àº ÇϾáÆäÀÌÁö¸¸ ³ª¿É´Ï´Ù.. 

>filename = URLEncoder.encode("",filename); 

>µµ Çغ¸°í 

>filename = URLEncoder.encode(filename,""); 

>µµ ÇغýÀ´Ï´Ù.. 















4. Ȳ´çÇÑ ÇÑ±Û ¹®Á¦·Î... 
----------------------------
6.0¿¡¼­ 0.5 %ÀÇ È®·ü·Î ÇѱÛÀÌ ±úÁø´Ù´Â °ÍÀÔ´Ï´Ù.. 
ÀÌ·± Ȳ´çÇÒ¶§°¡.. 
Ȥ½Ã ÇØ°áÃ¥ ¾Æ½Ã´ÂºÐ ÀÖ½À´Ï±î??? 


5.ÇÑ±Û ¹®Á¦.... 
--------------------
óÀ½¿¡ À©µµ¿ì NT ¼­¹ö¿¡¼­ Å×½ºÆ® ÇÒ¶§´Â ÇѱÛÀÌ ¾È±úÁ³½À´Ï´Ù 
IE ¹öÀü¿¡ ÀüÇô ¿µÇâÀ» ¹ÞÁö ¾Ê°í ±×·¯³ª ¸®´ª½º(¿Í¿ì7.3)¿¡¼­´Â ÇѱÛÀÌ ±úÁö´õ±º¿ä.. 
Å×½ºÆ® Çغ» °á°ú 5.0¿¡¼­´Â ¾È±úÁö°í 6.0¿¡¼­¸¸ ±úÁö´õ±º¿ä.. 
¼Ò½º ¾à°£ °íÃļ­ 5.0°ú 6.0À϶§ÀÇ Á¤º¸¸¦ °¡Áö°í ¿Í¼­ °¢°¢ ´Ù¸¥ ¼Ò½º·Î ÇÑ±Û º¯È¯À» Çß½À´Ï´Ù 
ù³¯Àº µÇ´õ´Ï¸¸.. µÑ°³¯Àº ¶Ç ¾ÈµÅ°í.. 
¼Â°³¯Àº ¶Ç µÇ´õ´Ï¸¸ ³×°³¯ ºÎÅÍ´Â ³·¿¡´Â µÇ°í ¾Æħ°ú ¹ã¿¡´Â ÇѱÛÀÌ ¾ÈµÅ´Â 
Áö°æ¿¡ ºüÁ³½À´Ï´Ù 






6.jsp:include page ¿¡¼­ ÇѱÛÀÌ ±úÁü 
----------------------------------------
jsp:include page include ´çÇÏ´Â(?) ÆÄÀÏÀÇ ÇѱÛÀÌ ±úÁü´Ï´Ù. 
±Ùµ¥.. ÀÌ°ÍÀ» java.net.URLEncode Çؼ­ ÇÒ¼ö ¾ø´Â°Ô.. session ¿¡ µé¾î ÀÖ´Â String[] ÀÇ ÇѱÛÀÌ ±úÁö°Åµç¿ä.. ³­°¨ÇÕ´Ï´Ù.. 
¹°·Î System.out.print·Î ÂïÀ¸¸é.. Àß³ª¿À°í¿ä... 
pageµµ euc-kr ,ksc5601µµ Çغ¸°í.. String.getBytes("8859_1"),"KSC5601" À̰͵µ Çغôµ¥.. ¾ÈµÅ´õ¶ó°í¿ä.. ¿¡¶ó ¸ð¸£°Ú´Ù Çϴ¸¶À½¿¡.. decodeÇÑ´ÙÀ½¿¡ encodeµµ Çغôµ¥.. ¿ª½Ã³ª.. ¾È³ª¿É´Ï´Ù.. 

¹æ¹ýÁ» ¾Ë·ÁÁÖ¼¼¿ä.. 
resin 1.25 ÀÔ´Ï´Ù. 
j2sdk 1.4.0_03ÀÔ´Ï´Ù. 
java.net.URLEncode(str) 
java.net.URLEncode(str,"ksc5601") 
°á°ú) 
%B0%AD%BD%C2%C8%C6+++++++++ (¤Ð(¤Ð(¤Ð.¤Ð)¤Ð)¤Ð) 







7.¾ÖÇø´¿¡¼­ ÇѱÛÀÌ ¾ÈµÇ³×¿ä. 
---------------------------------
Àú ¶ÇÇÑ ½Ç½Ã°£ íƮ¸¦ ¾ÖÇø´À¸·Î ±¸Çö Çߴµ¥.. 
À© 2000 ÀÌ¿Ü¿¡ À©µµ¿ì¿¡¼± ÇѱÛÀÌ ±úÁö´õ¶ó±¸¿ä.. 
¾îÄÉ ÇØ°á Ç߳ĸé.. 
ÀÚ¹Ù Ç÷¯±×ÀÎ ¼³Ä¡½Ã ¾ð¾î¸¦ International·Î Çß½À´Ï´Ù.. 
±× ´ãºÎÅÍ´Â Àß ³ª¿ÀÁÒ.. 
±Ùµ¥ ÇÑ°¡Áö Áú¹®ÀÌ Àְŵç¿ä.. 
À¯·á ¾ÖÇø´ íƮ ÄÄÆ÷³ÍÆ®¸¦ »ç¿ëÇϸé.. 

3Â÷¿ø íƮµîµµ °¡´ÉÇÑ°ÇÁö? && ¼Ò½ºµµ º¼¼ö ÀÖ´ÂÁö? 
º¼¼ö ÀÖ´Ù¸é.. ¼Ò½ºÁ» ¿Ã·ÁÁÖ½Ç ¼ö ÀÖ´ÂÁö ºÎŹµå¸³´Ï´Ù..^^ 
ÁÁÀº ÇÏ·ç º¸³»¼¼¿ä..^^ 

÷¿£ ÇѱÛÀÌ ¤±¤±¤± ÀÌ·¸°Ô ³×¸ð·Î ³ª¿À´Ù°¡ 
ÇÑ±Û ÀÎÄÚµùÀ» ³Ö¾îÁÖ´Ï À̹ø¿£ ??? ÀÌ·¸°Ô ³ª¿À´Â °Å ÀÖÁÒ. 

¿ô±â°Ôµµ ´Ù¸¥ ¾ÖÇø´Àº Á¤»óÀûÀ¸·Î º¸Àδٴ °ÅÁÒ.. 
À¯µ¶ ÇÑ°¡Áö(ÄÄÆ÷³ÍÆ® - rchart¶ó´Â À¯·á ¾ÖÇø´ Â÷Æ® ÄÄÆ÷³ÍÆ®)¸¸ ÇѱÛÀÌ ¹®Á¦°¡ µÇ°Åµç¿ä. 

font.properties¶ó´Â ÆÄÀÏÀ» font.properties.koÀÇ ³»¿ëÀ¸·Î ¹Ù²Ù°í ÀúÀåÇÑ ´ÙÀ½ ÅèĹÀ» ´Ù½Ã ½ÇÇàÇÑ ´ÙÀ½ ¿¡µµ ¾ÈµÇ³×¿ä.. 

-----------------ÇÑ±Û ÀÎÄÚµù Ŭ·¡½º--------------- 
public static String ConvertUniToKsc(String str) 

String rtn = null; 
try 

if (str != null) { 
rtn = new String(str.getBytes("8859_1"), "KSC5601"); 


catch (java.io.UnsupportedEncodingException e) 


return rtn; 







8.mysql°ú jsp ¿¬µ¿¿¡¼­ Çѱ۹®Á¦¿ä... 
-----------------------------------------------
resultSet °´Ã¼¿¡ ´ã¾Æ¼­ ¿À°ÚÁÒ. 
ÀÌ ÀνºÅϽº¸¦ rs ¶ó Çϸé 
new String(rs.getString(1).getBytes("8859_1"),"KSC5601") 
ÀÌ·¸°Ô ¹Þ¾Æº¸½Ç·¡¿ä? 

>mysql°ú jsp¿¬µ¿ ÇÁ·ÎÁ§Æ®¸¦ ÇÏ°íÀִµ¥¿©;;; 

>mysql ¿¡¼­ insertÇÑ µ¥ÀÌÅ͸¦ À¥¿¡¼­ ºÒ·¯¿À¸é ±úÁ®¼­ ³ª¿É´Ï´Ù. 

>Å×½ºÆ®¸¦ ÇÑ °á°ú..... 

>À¥¿¡¼­ ÀÎÄÚµùÇؼ­ mysql¿¡ insert/selectÇÑ°ÍÀº Çѱ۷ΠÀß ¹Ý¿µÀÌ µÇ´Âµ¥¿ä 

>mysqlÀÚü¿¡¼­ Àμ­Æ®ÇÑ°É À¥¿¡¼­ ºÒ·¯¿À¸é ±úÁø´Ù´Â°Å±îÁø ¾Ë¾Ò½À´Ï´Ù. 








9.Æû°ªÀ» ³Ñ±â¸é ¹Þ´Â ÆäÀÌÁö¿¡¼­´Â ÇѱÛÀÌ ±úÁö´Âµ¥~ 
-------------------------------------------------------
ÇѱÛÀÌ ±úÁö´Â ¹®Á¦´Â º¸Åë db¿¡ÀúÀåÇÏ°í ²¨³»¼­ È­¸é¿¡ »Ñ·ÁÁú¶§ »ý±â´Â ÀÏÀÌ ¸¹½À´Ï´Ù¸¸(dbÀÇ ÇÑ±Û ÀÎÄÚµù°ú ´Ù¸¦¶§) ´ÔÀÇ °æ¿ì¿¡´Â º¸³»´Â ÆäÀÌÁö¿¡ ¹®Á¦°¡ ÀÖÀ»°ÍÀ¸·Î »ý°¢ µË´Ï´Ù. º¸Åë <form>À» ÅëÇÑ value°ªÀÇ Àü¼ÛÀº get ¶Ç´Â post¹æ½ÄÀ¸·Î Çѱۿ¡ ÀüÇô ÁöÀåÀ» ÁÖÁö ¾ÊÁö¸¸ Á÷Á¢ Àü¼Û¹æ½Ä ¿¹·Î, 
¹Þ´Â ÆäÀÌÁö¸¦ receive.jsp¶ó ÇßÀ»°æ¿ì 
º¸³»´Â ÆäÀÌÁö¿¡¼­ <a href="receive.jsp?name=È«±æµ¿"> 
ÀÌ¿Í °°Àº ½ÄÀ¸·Î Àü¼ÛÇßÀ»°æ¿ì´Â ÇѵéÀÇ ÀÎÄÚµù ¾ç½Ä¿¡ ¹®Á¦°¡ ÀÖ¾î ÀÎÄÚµùÀ» º¯È¯ ÇØÁÖ¾î¾ß Á¤»óÀûÀ¸·Î ÇѱÛÀÌ ±úÁöÁö ¾Ê°í º¸¿©Áö°Ô µË´Ï´Ù. 
À½..¿ì¼±Àº º¸³»´Â ÆäÀÌÁöÀÇ ÄÚµù¿¡ <form>ű׸¦ »ç¿ëÇÏÁö¾Ê°í À§¿Í °°Àº ½ÄÀ¸·Î Àü¼ÛÇÏ´ÂÄڵ尡 ÀÖ´ÂÁö »ìÆ캸½Ã±â ¹Ù¶ø´Ï´Ù. 

>ÇÑ±Û ¹®Á¦À©~ 
>ÀԷ°ªÀ» ³Ñ±â¸é ¹Þ´Â ÆäÀÌÁö¿¡¼­ ´Ù¸¥ ÇѱÛÀº ±úÁöÁö°¡ ¾Ê´Âµ¥ Parameter·Î ³Ñ¾î¿Â °ª¸¸ ±úÁö´Â °Ì´Ï´Ù. 
>ÇØ°á ¹æ¾ÈÀÌ ¾ø³ª¿ä? 

>°í¼ö´ÔµéÀÇ ¸¹Àº Á¶¾ð ºÎŹ µå¸®°Ú½À´Ï´Ù. 

>¹Þ´Â ÆäÀÌÁö ¼Ò½º´Â...¿¬½ÀÄÚµå¶ó... 
><%@ page contentType="text/html;charset=euc-kr" %> 
><html> 
><body> 
> JSP¸¦ ÀÌ¿ëÇÑ Form ó¸®<BR> 
> <li>À̸§ : 
> <% 
> String name = request.getParameter("name"); 
> if(name != null && name.length() !=0){ 
> out.println(name); 
> }else{ 
> out.println("À̸§ÀÌ ¾ø³×¿ä~"); 
> } 
> %> 
> <li>ÁÖ¼Ò : 
> <% 
> String addr = request.getParameter("addr").trim(); 
> if(addr != null && addr.length() !=0){ 
> out.println(addr); 
> }else{ 
> out.println("ÁýÀÌ ¾ø¾î¿ä?"); 
> } 
> %> 
></body> 







10.´Ù¿î·Îµå½Ã ÷ ÇѱÛÀÌ ±úÁü...¤Ì¤Ì 
---------------------------------------
Àú°°Àº °æ¿ì´Â ¿¢¼¿·Î ÀúÀåÇϴ°ſ´°Åµç¿ä... 
weblogicÀ» À¥¼­¹ö·Î »ç¿ëÇÏ¿´¾ú±¸¿ä... 
ÆĶó¹ÌÅÍ ¼³Á¤ÀÌ ¹¹°¡ ¹Ù²î¾ú´ÂÁö´Â ±â¾ïÀÌ ¾È³ªÁö¸¸ 

±×·±µ¥ óÀ½¿¡´Â ´Ôó·³ 
response.setContentType("application/x-msdownload"); 

new String(filename.getBytes("euc-kr"),"8859_1"); 

ÀÌ·¸°Ô Çصµ µÇ¾ú±¸¿ä 
³ªÁß¿¡ º¸´Ï±î 
´Ù½Ã ¾ÈµÇ´õ¶ó±¸¿ä... 
±×·¡¼­ ¾Æ·¡¿Í °°ÀÌ Å¸ÀÔÀ» ¹Ù²ãÁÖ´Ï±î µÇ´õ±º¿ä... 
<%@ page contentType="text/vnd.ms-excel";%> 
±× ÀÌÈķδ ÀÌ·¸°Ô »ç¿ëÇÏ°í Àֳ׿ä... 


>new String(filename.getBytes("euc-kr"),"8859_1"); 
>¿ä ºÎºÐÀÌ À߸øµÈ°Å ¾Æ³×¿ä..? 
>¹Ý´ë·Î Àû¾îÁֽôø°¡.. 
>("8859_1"), "ksc5601"ÀÌ·¸°Ô¿ä..(¿ø·¡ ÀÌ°Å ¾Æ´Ñ°¡¿ä..?) ^^ 
>±×·¡µÎ ÀÌ·¸°Ô Çؼ­µÎ ±úÁö´Â °æ¿ì°¡ ÀÖ´øµ¥.. ¤Ð.¤Ð 

>ÀÌ·±°æ¿ì¿¡´Â ¾îÄÉ Çؾߵſä..? ¤Ð.¤Ð Á¤¸» ³­°¨.. 
>±×·¡¼­ Á¦°¡ ÀÌ·¸°ÔÀú·¸°Ô ÇÏ´Ù ³ª¿Â°á·ÐÀº.. 
>new String(filename.getBytes("ksc5601"),"ksc5601"); 
>ÀÌ·¸°Ô Çϴϱñ.. ½Å±âÇÏ°Ô ¾È±úÁöµ¥¿ä.. ÀÌ°Ô ¸Â´Â°Ç°¡..? 
>¾ÏÆ° ÇѱÛÀº ¾È±úÁö´Ï Àü °Á.. ÀÌ·¸°Ô ³õ±¸ ¾²³×¿ä.. 

>><%@ page contentType="application;" %><%@ page import="java.util.*,java.io.*,java.sql.*,java.text.*"%><%@ include file="/korean/pub/file_dir.jsp" %><% 
>> String filename = java.net.URLDecoder.decode(request.getParameter("file")); 
>> String filename2 = new String(filename.getBytes("euc-kr"),"8859_1"); 
>> File file = new File(dir_seminer+filename); // Àý´ë°æ·ÎÀÔ´Ï´Ù. 
>> byte b[] = new byte[(int)file.length()]; 
>> response.setHeader("Content-Disposition", "attachment;filename=" + filename2 + ";"); 
>> if (file.isFile()) 
>> { 
>> BufferedInputStream fin = new BufferedInputStream(new FileInputStream(file)); 
>> BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream()); 
>> int read = 0; 
>> while ((read = fin.read(b)) != -1){ 
>> outs.write(b,0,read); 
>> } 
>> outs.close(); 
>> fin.close(); 
>> } 
>>%> 
>> 






11.[Áú¹®]jsp¿Í ¿À¶óŬ¿¡¼­ÀÇ ÇѱÛ󸮠
---------------------------------------
Äõ¸®¹® ÀÚü¸¦ Âï¾îº¸¼¼¿ä. 
¸Â°Ô Çѱ۷Πµé¾î°¡´ÂÁö. 
±×¸®°í ³ª¼­ µ¥ÀÌÅͺ£À̽º¿¡ Á÷Á¢Á¢¼ÓÀ»Çؼ­ 
select ÇØ º¸¼¼¿ä. 
Á¤¸»·Î Àß µÇ´ÂÁö. 
±×·¯±¸ ³­´ÙÀ½¿¡ µ¥ÀÌÅ͸¦ °¡Áö°í ¿Íº¸¼¼¿ä 
°ú¿¬ ¾îµð¿¡ ¹®Á¦°¡ ÀÖ´ÂÁö ã¾Æ¾ß ´äÀÌ ³ª¿À°ÚÁö¿ä 
°¢°¢ÀÇ ¿øÀο¡ µû¶ó¼­ ó¹æ¹ýµµ Ʋ·ÁÁø´ä´Ï´Ù. 

>name = new String(request.getParameter("name").getBytes("8859_1"),"euc-kr"); 

>ÀÌ·¸°Ô ³Ñ±ä °ªÀ» ¿À¶óŬ¿¡ ÀúÀåÀ»Çߴµ¥¿ä 

>¿À¶óŬ¿¡¼­ °ªÀ» °¡Á®¿Ã¶§..°è¼Ó ???? ·Î ³ª¿À³×¿ä 

>java.net.URLEncoder.encode(address_2); 

>ÀÌ·¸°Ô Çؼ­ Ãâ·ÂÀ» Çغ¸±âµµ Çߴµ¥ ¿©ÀüÈ÷ ??? 

>·Î ³ª¿Í¿ä 

>¾î¶»°Ô °¡Áö°í¿Í¾ß ÇѱÛÀÌ ±×´ë·Î ³ª¿ÀÁÒ?? 

¿À¶óŬ¿¡¼­ °ªÀ» selectÇؿö§ ???·Î ³ª¿À´Â°ÍÀº °ú´Ù ÀÎÄÚµù ¹®Á¦ÀÔ´Ï´Ù. 
±×·¯´Ï °ªÀ» ³ÖÀ»¶§ ÀÎÄÚµùÀ» ÇÏÁö¸»°í ³Ö¾îº¸½Ã±â ¹Ù¶ø´Ï´Ù. 
±×¸®±¸ Å×½ºÆ®Çغ¸½Ã¸é ÁÁÀ»µí ½Í³×¿ä.. Á¦°æÇèÀÔ´Ï´Ù. 








12.¸®´ª½º¿¡¼­ ÇÑ±Û À̸§À¸·Î µÈ ÆÄÀÏ ¤Ð.¤Ð 
-------------------------------------------------
upload ÇÒ¶§ »ç¿ëÀÚ°¡ upload ÇÑ ÆÄÀÏ°ú ½Ã½ºÅÛ¿¡¼­ ¸¸µç ÆÄÀÏ À̸§À» 

µðºñ¿¡ ÀúÀå ÇÕ´Ï´Ù. 

±×·³ ÇÑ±Û ±úÁú ¿°·Á´Â ¾ø±¸¿©. ´Ù¿î ¹ÞÀ»¶§µµ »ç¿ëÀÚ À̸§À» ³Ö¾î 

ÁÖ¸é Å« ¹«¸® ¾øÀÌ ´Ù¿î ¹ÞÀ»¼ö ÀÖ½À´Ï´Ù. 

¹°·Ð file °´Ã¼¸¦ »ç¿ëÇؼ­ ¾µ·Á¸é ½Ã½ºÅÛ¿¡¼­ ¸¸µç À̸§À» ¾²¸é µÇ°ÚÁö¿© 

´äº¯ÀÌ µÇ¾ú³ª¿© !!! µµ¿òÀÌ µÇ¾úÀ¸¸é ÇÕ´Ï´Ù. 

¼ö°í Çϼ¼¿ä 


>¸®´ª½º¿¡¼­ ÇÑ±Û ÆÄÀÏÀ» ÀüÇô ÀνÄÇÏÁö ¸øÇϳ׿ä. 

>o/s »óÀÇ ¹®Á¦¶ó´Â »ç¶÷µµ ÀÖ°í... 

>File file=new File("ÇѱÛÆÄÀÏ.txt"); 

>ÀÌ·¸°Ô ÇßÀ»¶§ file¿¡ Á¤È®È÷ File °´Ã¼°¡ Àνĵǵµ·Ï ÇÏ´Â ¹æ¹ýÀÌ ¾øÀ»±î¿ä? 

>ÆÄÀÏ »èÁ¦, ´Ù¿î·Îµå°¡ ¾ÈµÇ´Â µî ¹®Á¦°¡ »ó´çÈ÷ ½É°¢Çϳ׿ä. 










13.sqlserver 2000 insert½Ã ÇÑ±Û À¯½Ç? ¹®Á¦ 
-------------------------------------------------
DB¿¡ µ¥ÀÌÅ͸¦ ³ÖÀ»¶§´Â ¾Æ·¡ÀÇ ¸Þ¼Òµå¸¦ ÀÌ¿ëÇؼ­ ³Ö¾îÁÖ½Ã°í¿©.. 
new String(str.getBytes("KSC5601"),"8859_1") 
¹Ý´ë·Î ²¨³» ¿Ã¶§´Â 
new String(str.getBytes("8859_1"),"KSC5601")¸¦ ÅëÇؼ­ ²¨³»¿Í º¸¼¼¿©.. 

Àúµµ ¿¹Àü¿¡ SQLServer¿¡ ÇѱÛÀÌ Á¦´ë·Î ÀÔÃâ·ÂÀÌ µÇÁö ¾Ê¾Æ¼­ ?§´? ¹æ½ÄÀÔ´Ï´Ù.. 

µµ¿òÀÌ µÇ¼Ì±æ.. 

>SQL2000 ¿¡ ¸Þ¼¼Áö ÀԷ½à ÇѱÛÀÌ À¯½ÇµË´Ï´Ù.-.-;; 

>ÄÚµå´Â ¾Æ·¡¿Í °°½À´Ï´Ù. 
>¸Þ¼¼Áö¿¡ 'DB ³Ö±â' ÀÌ·¸°Ô ÇÒ °æ¿ì DB¿¡´Â 'DB' ÀÌ·¸°Ô¸¸ µé¾î°¡°í¿ä.. 
>¸Þ¼¼Áö¿¡ 'ÇÑ±Û DB' ÀÌ·¸°Ô ÀÔ·ÂÇÏ¸é ½ÇÁ¦ÀûÀ¸·Î '\' ÀÌ ¹®ÀÚ°¡ µé¾î°¡³×¿ä-_-;;; 
>¿Ö±×·²±î¿ä?.... ´äº¯Á» ºÎŹ µå¸³´Ï´Ù.... 

>// DB Insert 
>public int dbInsert(String messageid, String from_number, String to_number, String messages, String ins_time){ 
>String sql ; 
>System.out.println("in insert function"); 
>System.out.println(messages); 

>try { 
>conn = getConnection(); 
>pstmt = conn.prepareStatement("insert into smslist ( messageid, from_number, to_number, messages, ins_time, result) values(?,?,?,?,?,?)"); 
>pstmt.setString(1, messageid); 
>pstmt.setString(2, from_number); 
>pstmt.setString(3, to_number); 
>pstmt.setString(4, messages); 
>pstmt.setString(5, ins_time); 
>pstmt.setString(6,"0000"); 

>pstmt.executeUpdate(); 


>} catch (Exception e) { 
>System.out.println(e); 
>e.printStackTrace(); 
>return 0; 
>} finally{ 
>closeAll(); 
>} 
>return 1; 
>} 











14.JSP¿¡¼­ My SQL·Î ÇÑ±Û ÀڷḦ ÀÔ·ÂÇÒ ¶§.. 
---------------------------------------------------
get ¹æ½ÄÀ» post·Î ¹Ù²Ù¾î¼­ ÀÔ·ÂÀ» ÇϽô °ÍÀÌ ÁÁ½À´Ï´Ù. 

¸¸¾à¿¡ post ¹æ½ÄÀ¸·Î ÇѱÛÀ» ³Ñ±ä´Ù¸é 
DB¿¡ µ¥ÀÌÅ͸¦ ³ÖÀ»¶§´Â ¾Æ·¡ÀÇ ¸Þ¼Òµå¸¦ ÀÌ¿ëÇؼ­ ³Ö¾îÁÖ½Ã°í¿©.. 

new String(str.getBytes("KSC5601"),"8859_1") 
¹Ý´ë·Î ²¨³» ¿Ã¶§´Â 

new String(str.getBytes("8859_1"),"KSC5601")¸¦ ÅëÇؼ­ ²¨³»¿Í º¸¼¼¿©.. 

>jsp¿¡¼­ mysql·Î ÇÑ±Û ÀڷḦ ÀÔ·ÂÇÒ ¶§ ÇѱÛÄڵ尡 ¸ÂÁö ¾Ê¾Æ¼­ ±×·±Áö ÇѱÛÀÌ Á¦´ë·Î ÀԷµÇÁö ¾Ê½À´Ï´Ù. ÀÌ»óÇÑ ±ÛÀÚ°¡.... 
>¾î¶»°Ô ÇØ¾ß Çϳª¿ä? 









15.xml¿¡¼­ ÃßÃâÇÑ Çѱ۰ªÀÌ ±úÁý´Ï´Ù. 
-------------------------------------------
<?xml version="1.0" encoding="euc-kr"?> 
»ðÀÔÇؼ­ ¹®Á¦ ÇØ°á 

>xml¿¡¼­ ÃßÃâÇÑ Çѱ۰ªÀÌ ±úÁý´Ï´Ù. 
>±úÁø ÇѱÛÀ» º¹¿ø½Ãų·Á¸é ¾î¶»°Ô ÇؾßÇÏ´ÂÁö¿ä. 

16.WebLogicÀº ¿Ö ±âº»ÀûÀ¸·Î JSP¸¦ »ç¿ëÄ¡ ¾Êµµ·Ï ÇßÀ» ±î¿ä...
------------------------------------------------------------
¾Æ·¡ ºÎºÐ ó·³ ÁÖ¼® 󸮵Ǿî ÀÖ´Â ºÎºÐÀ» Ç®¾î¾ß ÇÕ´Ï´Ù.
¶Ç ÇѱÛÁö¿øÀ» À§ÇØ Ãß°¡ÀûÀÎ Parameter¸¦ ³Ö¾î¾ß ÇÕ´Ï´Ù.


# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# WEBLOGIC JSP PROPERTIES
# ------------------------------------------------
# Sets up automatic page compilation for JSP. Adjust init args for
# directory locations and uncomment to use.
weblogic.httpd.register.*.jsp=\
weblogic.servlet.JSPServlet
weblogic.httpd.initArgs.*.jsp=\
pageCheckSeconds=1,\
compileCommand=e:/jdk1.1.7b/bin/javac.exe,\
workingDir=/weblogic/myserver/classfiles,\
encoding=euc-kr,\
verbose=true




Ãâó : http://ndba.egloos.com/2831611