JSP request.getParameter() Çѱ۱úÁü ÇØ°á¹æ¹ý.
¾Æ·¡ºÎÅÍ ¿ø±Û ÀÔ´Ï´Ù.
óÀ½ 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
x
============================================
(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