JSP/SERVLET
2010.08.30 / 20:42

´Ù±¹¾î ÀÎÄÚµù ¹®Á¦

ºÎ°£ ¾ðÀç
Ãßõ ¼ö 197
Á¦¸ñ¾øÀ½

Á¦¸ñ : [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´Â ±úÁö°Å³ª
ÇÏ´Â ¹®Á¦ ¹ß»ý. (ȤÀº ±× ¹Ý´ë)
¡ØÁÖÀÇ! <%@ page contentType="text/html;charset=xxx"%> ¿Í´Â º°°³À̹ǷΠ¼Ò¿ë ¾ø½À´Ï´Ù.
³ª. *.java¸¦ ÄÄÆÄÀÏ ÇÑµÚ ´Ù±¹¾î »ç¿ë½Ã ±ú¾îÁ® ³ª¿Â´Ù. --;;
(staticÀ̳ª ºñ±³¹®µî¿¡ ¹Ì¸® ÀÔ·ÂÇØ ³õÀº ´Ù±¹¾î...)
¹°·Ð Runtime½Ã º¹±¸ÇÒ ¼ö ÀÖ´Â °æ¿ìµµ °ÚÁö¸¸ ±×·¸°Ô ÇÏ´Â »ç¶÷ ÀÖ´Ù¸é µûµ¹¸² ´çÇÑ´Ù´Â.... --;;

ÇØ°á¹ý :
°¡. ¼Ò½ºÆÄÀÏÀ» ¸¸µé¾î ÀúÀåÇÒ ½Ã¿¡ ÀÚ½ÅÀÌ ÀÛ¼ºÇÑ ¼Ò½ºÀÇ ¹®ÀÚ¼ÂÀ» È®ÀÎÇѵÚ
±× ¿Í µ¿ÀÏÇÏ°Ô ÀúÀåÇϵµ·Ï ÇÏ°í, ÇÁ·ÎÁ§Æ®¿¡ °ü·ÃµÈ ¸ðµç ÆÄÀÏÀ» µ¿ÀÏÇÑ ¹®ÀÚ¼ÂÀ¸·Î ÀÛ¾÷ÇØ¾ß ÇÑ´Ù´Â...
<%@ page contentType="text/html;charset=xxx"%>ÀÇ 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¿¡¼­ <%@ page contentType="text/html;charset=xxx"%>¿Í
META TAGÀÇ contentType="text/html;charset=xxx"

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

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

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

¼Ò½ºº¸±â¸¦ Çصµ ¿ÏÀüÈ÷ ±úÁø´Ù.
...
...
Áß·«
...
¼­¹öÂÊ ÇѱÛ󸮴 MS949 ·Î Á¤ÇÏ°í, ºê¶ó¿ìÀúÀÇ ÇѱÛ󸮴 ksc5601, euc-kr µîÀ¸·Î
ÇÑ´Ù. Áï ¼­¹öÂÊÀº @page ÀÇ contentType ¼Ó¼ºÀ» charset=MS949 ·Î <head> ÅÂ±× ³»ÀÇ
<meta> ű׿¡¼­ 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 : &#65536) ±×·³ EUC-KRÀ̳ª KSC5601·Î DB¿ë·® ¾Æ³¢·Á´Ù
Çʵå±úÁö°í Çʵå±æÀÌ Á¦ÇÑ ¾øÀ¸¸é ¿ÀÈ÷·Á UnicodeȤÀº UTF-8º¸´Ù ¿ë·®¸¸ Áõ°¡ÇÏ°í --;;

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

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

Âü°í.
'?' <- ÀÌ ¹®ÀÚ´Â Unicode¿Í UTF-8¹®ÀÚ¼ÂÀÌ ¾Æ´Ï¸é ±úÁý´Ï´Ù.
WebBrowser¿¡¼­ º¸´Â µ¥´Â ÁöÀå ¾ø½À´Ï´Ù. Áö±Ýµµ º¸À̽ÃÁÒ?
ÀÌ '?'´Â ¼­¹ö¿¡ Àü´Þ µÉ ¶§ &#33910; ÀÌ·¸°Ô º¯ÇüµÇ¾î Àü´Þ µË´Ï´Ù.
(Áö±Ý ÀÌ °Ô½ÃÆÇ¿¡¼­ 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¿¡¼­ <%@ page contentType="text/html;charset=XXX"%> ¶ó°íÇÏ¸é ¾Æ½Ã°ÚÁö¸¸
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°¡ ¿¹Àü¿¡ ºñÇØ ½ÇÇà¼Óµµ ¹«Áö »¡¶óÁ³³×¿ä!)

Á¦¸ñ : Re: encoding °ü·Ã url
±Û¾´ÀÌ: Ç㱤³²(heogn)   2002/12/03 11:42:33  Á¶È¸¼ö:8  ÁÙ¼ö:36
  
°Ô½Ã¹°1 ÀÇ ÀúÀÚÀÔ´Ï´Ù.
EB ´ÔÀÇ ¸í¼ºÀº ÀÍÈ÷ º¸¾Æ¿Â ¹Ù¶ó Á¦ ±ÛÀ» Åä´ë·Î ¿¬±¸°á°ú¸¦ °øÀ¯ÇØÁּż­ °¨»çµå¸³´Ï´Ù.
(»ç½Ç Á» ¶ß²ûÇß½À´Ï´Ù. ^^;)
MS949 ´Â CP949 ¿Í °°´Ù´Â °Í
iana ¿¡´Â ºüÁ®ÀÖ´Â ¹®ÀÚ¼ÂÀ̸ç À©µµ¿ìÁî¿Í java Áø¿µ¿¡¼­ °øÀ¯ÇÏ´Â OS ±â¹ÝÀÇ ¹®ÀÚ¼Â
¶ó´Â °Í
Á¦°¡ ÀÌÇØÇÏ°í ÀÖ´Â °ÍÀ̾ú°í, EB´ÔÀÇ ±Ûó·³ ÇѱÛÀÇ ÇÑ°è»óȲÀ» ³Ñ¾î°¡´Âµ¥´Â UTF-8
¹®ÀÚ¼ÂÀ» Çؾߵȴٴ °Í¿¡ °ø°¨ÇÕ´Ï´Ù.

Hangul and Internet in Korea FAQ ½ÅÁ¤½Ä´Ô 8¹ø±Û Âü°í
http://jshin.net/faq/index.html (»õ âÀ¸·Î ¿­±â)

iana ¿¡ µî·ÏµÈ ¹®Àڼ¿¡ °üÇÑ ¸µÅ©
http://www.iana.org/assignments/character-sets (»õ âÀ¸·Î ¿­±â)

cp949 ÀÇ unicode mapping table
http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT (»õ âÀ¸·Î ¿­±â)

Extended Encoding Set (contained in i18n.jar)
http://www.mobilejava.co.kr/bbs/temp/lecture/personal/encoding.html (»õ âÀ¸·Î ¿­±â)

À±°æ±¸´Ô°ú ±èÇÊÈ£´ÔÀÇ Cp949 ¿¡ °üÇÑ ±Û
http://java.freehosting.co.kr/java/messages/1297.html (»õ âÀ¸·Î ¿­±â)

»ç½Ç ¾ÆÁ÷ Á¤¸®°¡ ¿ÏÀüÈ÷ ¾ÈµÈ »óÅÂÀÔ´Ï´Ù.
EB´ÔÀÇ ±ÛÀ» Àú ¶ÇÇÑ Âü°íÇÏ°í µÎ°¡Áö ÀÎÄÚµùÀ» Ç¥½ÃÇؾߵǴ ¿ì½º²Î½º·± jsp
ÄÚµù½ºÅ¸ÀÏÀ» »¡¸® ¹þ¾î³ª¾ß°Ú½À´Ï´Ù.(^^; ¾ðÁ¦°¡ µÉÁö´Â Àúµµ... )

ÇູÇϼ¼¿ä.
---------------------------------
jakarta-seoul project
jakarta ¹®¼­ ÇѱÛÈ­ »çÀÌÆ®
http://www.apache-korea.org (»õ âÀ¸·Î ¿­±â)

---------------------------------
http://okjsp.pe.kr (»õ âÀ¸·Î ¿­±â)

from:
http://www.javaservice.net/~java/bbs/read.cgi?m=devtip&b=servlet&c=r_p&n=1038800530&p=1&s=t#1038800530 (»õ âÀ¸·Î ¿­±â)