JDK 1.1, 1.2ÀÇ ÇÑ±Û °ü·Ã ÀÎÄÚµù°ú ±âŸ


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

±Û¾´ÀÌ :±è´öÅ 1998³â 4¿ù 22ÀÏ 16:13:34

Jungshik Shin wrote:
> ¿°·ÁÇϽŴë·Î JDK 1.1.5¿¡¼­ È®ÀÎÇØ º» °á°ú »ó´çÈ÷ ¹®Á¦°¡ ¸¹Àº °ÍÀ» ¾Ë
> ¼ö ÀÖ¾ú½À´Ï´Ù. SunÀÌ Cp949(UHC/ÅëÇÕ ¿Ï¼ºÇü)À» ¹«¾ùÀ» º¸°í ±¸ÇöÇß´ÂÁö
> ¸ð¸£°ÚÁö¸¸(
> ¿¡ °¡¸é Cp949 <-> UCS-2 º¯È¯ Ç¥°¡ ÀÖ½À´Ï´Ù), UCS-2¿¡¼­ Cp949·Î ¹Ù²Ù´Â
> °úÁ¤¿¡¼­ KS C 5601-1987¿¡¼­ Á¤ÀÇÇÏÁö ¾ÊÀº ±ÛÀÚ¿¡ ´ëÇÑ º¯È¯ÀÌ ¾û¸ÁÀÔ´Ï´Ù.
> ¹Ý´ë·Î Cp949¿¡¼­ UCS-2(ȤÀº UTF8)·Î ¹Ù²Ù´Â °úÁ¤ ¿ª½Ã Ʋ·È½À´Ï´Ù.
>
> ´ÙÀ½À» ÄÄÆÄÀÏÇϽŠ´ÙÀ½¿¡ 'Cp949'¸¦ ¸í·ÉÇà ÀÎÀÚ·Î ÁÖ°í UHC¸¦ Áö¿øÇÏ´Â
> Å͹̳ο¡¼­ Çѹø °á°ú¸¦ º¸½Ê½Ã¿À. ȤÀº, UnixÀÇ hexdump
> ("hexdump -e '"%07.7_ax " 16/1 "%2_u " "\n"'"³ª
> "hexdump -e '"%07.7_ax " 16/1 "%02X " "\n"'") °°Àº °ÍÀ¸·Î È®ÀÎÇØ
> º¸½Ê½Ã¿À. JDK 1.2 beta3¿¡¼­ Çѹø ½ÃÇèÇØ º¸½Ã°í °á°ú¸¦ ¾Ë·Á Áֽøé
> °í¸¿°Ú½À´Ï´Ù. ¸¸ÀÏ, JDK 1.2beta3¿¡¼­µµ ±× ¹ö±×°¡ ±×´ë·Î ³²¾Æ ÀÖ´Ù¸é JDK
> 1.1.5¿¡¼­ ¹ß°ßÇÑ µÎ¾î °¡Áö ´Ù¸¥ ¹®Á¦(Çѱ¹¾î locale¿¡¼­ ³¯Â¥ Ç¥½Ã Çü½ÄÀÇ
> ¹®Á¦ µî. ¾Æ·¡¿¡ Àû½À´Ï´Ù)¿Í ÇÔ²² ¸ð¾Æ¼­ ¼öÁ¤À» ¿ä±¸Çؾ߰ڽÀ´Ï´Ù.
>
> --------Cut-----------Here----------------------------
> import java.io.*;
> import java.text.*;
> import java.util.*;
>
> public class KoreanTest
> {
> public static void main(String[] args)
> {
> String encoding = "KSC5601";
>
> //EUC_KR should be used in place of KSC5601,
> //but it's not yet supported as of JDK 1.1.5
>
> if ( args.length > 0 )
> encoding = args[0];
> try
> {
> PrintWriter out = new PrintWriter(
> new OutputStreamWriter(System.out, encoding) );
>
> for ( int i=0; i < 11172 ; i++) {
> char c = (char) ( i + 0xac00) ;
> out.print(c);
> if ( i%28 == 27 ) { out.print('\n');}
> }
> out.close();
> }
> catch (IOException e)
> { System.out.println("Error" + e); }
> }
> }
> -----------------Cut----------Here----------------



ÀÎÄÚµù Áö¿øÀÇ ÀǹÌ
====================


ÀÚ¹Ù¿¡¼­ ÀÎÄÚµùÀ» Áö¿øÇÑ´Ù´Â °ÍÀÇ Àǹ̴ ÀÚ¹Ù°¡ »ç¿ëÇÏ´Â
³»ºÎÄÚµåÀÎ À¯´ÏÄÚµå 2.0ÀÇ Äڵ尪°ú À̵é ÀÎÄÚµù¿¡¼­ÀÇ
Äڵ尪À» º¯È¯ÇØÁִ Ŭ·¡½º°¡ Á¦°øµÈ´Ù´Â °Í°ú
ÀÎÄÚµù À̸§À» ÁöÁ¤ÇØÁÙ ¼ö ÀÖ´Â ¸ðµç °÷¿¡¼­ À̵é ÀÎÄÚµù À̸§À»
»ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.



ÀÎÄÚµù À̸§ (½ã»ç¿¡¼­ °øÇ¥ÇÏ´Â À̸§, Ç¥ÁØ À̸§, alias À̸§)
==========================================================


À̵é ÀÎÄÚµù À̸§Àº ½ã»ç¿¡¼­ °øÇ¥ÇÏ´Â À̸§°ú ÀÌ¿¡ ´ëÀÀÇÏ´Â alias
À̸§µéÀÌ ÀÖÀ¸¸ç ¼­·Î µ¿ÀÏÇÕ´Ï´Ù. ½ã»ç¿¡¼­ °øÇ¥ÇÏ´Â À̸§Àº ÄÚµå º¯È¯
Ŭ·¡½º À̸§À» ¸¸µå´Â µ¥ »ç¿ëµÇ¹Ç·Î, ½Äº°ÀÚ·Î »ç¿ëµÉ ¼ö ÀÖ±â À§Çؼ­
EUC-KR ´ë½Å EUC_KRÀ̶õ À̸§À» »ç¿ëÇÕ´Ï´Ù.


¶ÇÇÑ, ÀÎÄÚµù À̸§Àº ´ë¼Ò¹®ÀÚ ±¸ºÐÀÌ ¾øÀ½¿¡µµ ºÒ±¸ÇÏ°í ½ã»ç¿¡¼­
°øÇ¥ÇÏ´Â ÀÎÄÚµù À̸§Àº ¼Ò¹®ÀÚ ÇüŸ¦ ÀÌÇØÇÏÁö ¸øÇÕ´Ï´Ù. Áï, euc_krÀº
ÀνÄÇÏÁö ¸øÇÔ.


EUC_KR¿¡ ´ëÇؼ­´Â euc-krÀ̶õ Ç¥ÁØ À̸§ÀÌ alias·Î µÇ¾îÀÖÀ¸¹Ç·Î EUC-KRµµ
»ç¿ë°¡´ÉÇϸç, ´õ ¹Ù¶÷Á÷ÇÑ À̸§ÀÏ °ÍÀÔ´Ï´Ù.



JDK 1.2beta3¿¡¼­ Áö¿øµÇ´Â ÇÑ±Û °ü·Ã ÀÎÄÚµù
==========================================


JDK 1.2beta3°¡ Áö¿øÇÏ´Â ÇÑ±Û °ü·Ã ÀÎÄÚµùÀº ¹®¼­È­µÈ °Í°ú ±×·¸Áö ¾ÊÀº
°Í ¸ðµÎ Æ÷ÇÔÇÏ¿© ´ÙÀ½°ú °°½À´Ï´Ù.



// À¯´ÏÄÚµå ¹®ÀÚ ¿ÜºÎ ÀÎÄÚµù


"UTF8", // UTF-8
"Unicode", // Unicode 2 bytes external encoding with byte order mark
"UnicodeBig", // Unicode 2 bytes external big endian encoding with byte order mark
"UnicodeLittle", // Unicode 2 bytes external little endian encoding with byte order mark
"UnicodeBigUnmarked", // Unicode 2 bytes external big endian encoding with no byte order mark
"UnicodeLittleUnmarked", // Unicode 2 bytes external little endian encoding with no byte order mark


// ¾Æ½ºÅ° ÀÎÄÚµù


"Default",
"ASCII", /* alias: */ "us-ascii",


// Çѱ¹ ¹®ÀÚ ÀÎÄÚµù


"EUC_KR", // Korean, KS C 5601-1987, EUC Encoding
/* alias: */ "euc-kr", "euckr", "KSC5601", "ksc_5601",
/* alias: */ "ksc5601_1987", "ks_c_5601-1987", "ksc5601-1987",
"Cp949", "Cp949C", // Korean, PC
"Cp970", // Korean, AIX


"Johab", // KS C 5601-1992, Microsoft Unified Hangul Encoding
// (US-ASCII + KS C 5601-1987 + 11172 Modern Hangul Syllables ?)
/* alias: */ "ms949", "windows-949", "ksc5601-1992", "ksc5601_1992",


"ISO2022KR", // Korean, ISO 2022 KR


"Cp933", // Korean Mixed with 1880 UDC, superset of 5029



JDK 1.1.5¿¡¼­ Áö¿øµÇ´Â ÇÑ±Û °ü·Ã ÀÎÄÚµù
==========================================


// À¯´ÏÄÚµå ¹®ÀÚ ¿ÜºÎ ÀÎÄÚµù


"UTF8",
"Unicode",
"UnicodeBig",
"UnicodeLittle",
"UnicodeBigUnmarked",
"UnicodeLittleUnmarked",


// ¾Æ½ºÅ° ÀÎÄÚµù


"Default",


// Çѱ¹ ¹®ÀÚ ÀÎÄÚµù


"KSC5601", // Korean, KS C 5601-1987, EUC Encoding
/* alias: */ "ksc_5601", "ks_c_5601-1987"
/* alias: */
"Cp949", "Cp949C", // Korean, PC
"Cp970", // Korean, AIX


"ISO2022KR", // Korean, ISO 2022 KR


"Cp933", // Korean Mixed with 1880 UDC, superset of 5029



Cp949¿¡ ´ëÇØ
==============


ÀÚ¹Ù¿¡¼­ÀÇ Cp949´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ÅëÇÕ ¿Ï¼ºÇü Äڵ带 ÀǹÌÇÏÁö
¾ÊÀ¸¸ç, ´ë½Å JDK 1.2ÀÇ ms949¶ó´Â ÀÎÄÚµù À̸§ÀÌ ÀÌ¿¡ ÇØ´çÇÕ´Ï´Ù.
ms949´Â JohabÀ̶ó´Â ÀÎÄÚµù À̸§ÀÇ aliasÀ̹ǷΠ¼­·Î µ¿ÀÏÇÕ´Ï´Ù.
Áï, ÅëÇÕ ¿Ï¼ºÇü Äڵ带 Á¶ÇÕÇü ÄÚµå¶ó´Â Àǹ̰¡ °­ÇÑ JohabÀ̶õ
À̸§À» »ç¿ëÇÏ¿´À¸¹Ç·Î ¹«¾ð°¡ À߸øµÇ¾ú´Ù´Â »ý°¢ÀÔ´Ï´Ù.


KSC5601-1992¿¡ ´ëÇؼ­´Â Àß ¸ð¸£°ÚÀ¸³ª, KSC5601-1992°¡ Á¤ÀÇÇÏ´Â
¹®ÀÚ¼¼Æ®À» ¸ðµÎ Ç¥ÇöÇÒ ¼ö ÀÖ´Â ÀÎÄÚµùÀ̱⶧¹®¿¡ (¸Â³ª?) ´ëÇ¥ÇÏ´Â
ÀÎÄÚµùÀ¸·Î JohabÀ̶õ À̸§À» »ç¿ëÇÑ °ÍÀ¸·Î ÃßÃøÇÕ´Ï´Ù.


½ã»ç¿¡¼­ 949 Äڵ带 ÀÌ¿Í °°ÀÌ 2°¡Áö·Î ³ª´« °ÍÀº
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç°¡ Cp949ÀÇ Àǹ̸¦ º¯°æ½ÃÄױ⠶§¹®ÀÌ ¾Æ´Ñ°¡
ÃßÃøÇÏ°í ÀÖ½À´Ï´Ù.
À©µµ¿ìÁî 3.1¿¡¼­ Cp949°¡ »ç¿ëµÇ°í ÀÖ´Ù¸é, ±×·± °æ¿ì¿¡µµ
ÅëÇÕ ¿Ï¼ºÇü ÄÚµåÀÇ Àǹ̸¦ °®´Â°¡¿ä?


°á·ÐÀûÀ¸·Î, ms949¶ó´Â ÀÎÄÚµù À̸§À» »ç¿ëÇÏ¿©, ÅëÇÕ ¿Ï¼ºÇü ÄÚµåÀÇ
¸ðµç ¹®¼­, ÀڷḦ ¸ðµç ÀÚ¹Ù 1.2 Ç÷§Æû¿¡¼­ ó¸®ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
¶ÇÇÑ, ´«¿¡¶ç´Â ¹ö±×µµ ¾ø¾ú½À´Ï´Ù.


ÇÏÁö¸¸, »ç¿ëÀÚ°¡ ¸ðµÎ ÀÚ¹Ù 1.2 ȯ°æ ¹× À©µµ¿ìÁî ȯ°æ¸¸À» »ç¿ëÇÏ´Â °ÍÀº
¾Æ´Ï¹Ç·Î, ±× ÀÎÄÚµùÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ÀÌ·¯ÇÑ Á¦ÇÑÁ¡À» °í·ÁÇØ¾ß ÇÒ
°ÍÀÔ´Ï´Ù.


JDK 1.1¿¡¼­¿Í´Â ´Þ¸® JDK 1.2´Â ÆùÆ® ó¸® ¹æ½ÄÀÌ ¹Ù²ï °Í °°½À´Ï´Ù.
Áï, À©µµ¿ìÁî¿ë JDK 1.2¿¡¼­´Â À¯´ÏÄÚµå 2.0ÀÇ ¸ðµç Çö´ëÇѱÛÀÌ
±×·¡ÇÈ ±â´ÉÀ» »ç¿ëÇÏ¿© Ãâ·ÂÇÏÁö ¸øÇÕ´Ï´Ù.


ÀÌ·¯ÇÑ ¹®Á¦´Â ÀÌ ms949 ÀÎÄÚµùÀ» »ç¿ëÇÏ¿© À¯´ÏÄÚµå 2.0 ÄÚµå·ÎºÎÅÍ
949 Äڵ尪À¸·Î º¯È¯ÇÏ¿©, ÀÌ Äڵ尪ÀÌ ÇÑ±Û ÆùÆ®ÀÇ À妽º·Î »ç¿ëÇϵµ·Ï
jdk1.2beta3/lib/font.properties.ko È­ÀÏÀ» ¼öÁ¤ÇÏ¸é µË´Ï´Ù.


http://calab.kaist.ac.kr/~dtkim/java/example/bug/font.properties.ko.jdk12.windows.bugpatch
Àº ÀÌ¿Í°°ÀÌ ¼öÁ¤µÈ È­ÀÏÀÔ´Ï´Ù.


½ÅÁ¤½Ä´ÔÀÌ ¿Ã¸®½Å ´ÙÀ½ ÇÁ·Î±×·¥Áß "KSC5601" À» "ms949"·Î ¹Ù²Û ÈÄ
½ÇÇà½ÃÄѺ¸¸é, À©µµ¿ìÁîÀÇ µµ½ºÃ¢¿¡¼­´Â ¸ðµç Çö´ë ÇѱÛÀÌ °¡³ª´Ù¶ó ¼ø¼­·Î
¹Ù¸£°Ô Ãâ·ÂÀÌ µË´Ï´Ù. ÇÏÁö¸¸, À¯´Ð½ºÀÇ hanterm, viµî ¿©·¯
ÇÁ·Î±×·¥¿¡¼­ ±â´ëµÇÁö ¾Ê´Â Äڵ尪ÀÌ ³¢Ä¡´Â ¿µÇâÀº ´Ù¾çÇÏ´õ±º¿ä.
¾û¶×ÇÑ ¹®ÀÚ·Î º¸Àδٴø°¡, Á¤»óÀûÀÎ ¹®ÀÚµµ ¿µÇâÀ» ¹Þ¾Æ ±úÁ®¼­
º¸Àδٴø°¡... ¶ÇÇÑ, Äڵ尪À» ¼¼¹ÐÈ÷ °üÂûÇÏÁö ¾Ê°í¼­´Â ¾ð¶æº¸¾Æ¼­
euc-kr ¹®¼­ÀÎÁö, ms949ÀÎÁö, ÈÑ¼ÕµÈ ¹®¼­ÀÎÁö ºÐ°£Çϱ⵵ ¾î·Æ½À´Ï´Ù.
Ç¥ÁØÈ­µÇÁö ¸øÇÑ another encodingÀÌ ³¢Ä¡´Â ¾Ç¿µÇâÀ̶ó°í º¼ ¼ö ÀÖ°ÚÁÒ.



> String encoding = "KSC5601";
===> String encoding = "ms949";




ÄÚµå °ª Å×À̺í°ú ´Ù±¹¾î Ãâ·Â
============================


ÀÚ¹ÙÀÇ ´Ù±¹¾î Ãâ·Â¿¡ °ü½ÉÀÌ ÀÖÀ¸½Ã°Å³ª, ¿©·¯°¡Áö ÀÎÄÚµùÀÇ Äڵ尪¿¡
´ëÇؼ­ ½±°Ô ¾Ë°í½ÍÀ¸½Ã¸é
http://calab.kaist.ac.kr/~dtkim/java/example/i18n/CodeTable.java
À» °¡Á®°¡¼­ »ç¿ëÇغ¸½Ã¸é µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù.


¶ÇÇÑ, http://calab.kaist.ac.kr/~dtkim/java/example/i18n/CodeTable.html
À» JDK 1.1 Áö¿ø ºê¶ó¿ìÀú·Î ¹æ¹®ÇÏ½Ã¸é ¾ÖÇø´À¸·Î ½ÇÇà½Ãų ¼ö ÀÖ½À´Ï´Ù.


´ÙÀ½°ú °°Àº 4°¡Áö ¸ñÀûÀ» À§ÇØ ¸¸µç °ÍÀÔ´Ï´Ù.


* Program Type: Applet/Application
*
* Purposes:
* 1. Display diverse characters in diverse encodings graphically
* with their code values.
* 2. Show the corresponding code values between any 2 character encodings.
* 3. Find code conversion or character display bugs of Java versions.
* 4. Provide a simple Unicode input method (in the future).


ÇѱۻӸ¸ ¾Æ´Ï¶ó ´Ù¾çÇÑ ÀÎÄÚµù¿¡ ´ëÇؼ­ ¾Ë°íÀÚÇÏ´Â °æ¿ì, ¹®ÀÚ¸¦
Ãâ·ÂÇؼ­ Äڵ尪°ú ÇÔ²² º¸¾Æ¾ß¸¸ ÀÎÄÚµùÀÇ Äڵ尪ÀÌ ¹«¾ùÀ» ÀǹÌÇÏ´Â Áö
ÀÌÇØ°¡ °¥ °ÍÀÔ´Ï´Ù. À©µµ¿ìÁî 1.1¿¡¼­´Â ÀͽºÇÁ·Î·¯ 4.0ÀÇ µµ¿ò¸»/Á¦Ç°
¾÷µ¥ÀÌÆ® ±â´ÉÀ» ÅëÇؼ­ ÅëÇÕ À¯·´ ÆùÆ®, Áß±¹ ÆùÆ®, ÀϺ» ÆùÆ®¸¦ ¸ðµÎ
¼³Ä¡ÇÒ ¼ö ÀÖÀ¸¸ç, (ÀͽºÇ÷η¯ ¾øÀÌ ¼³Ä¡ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¾Æ½Ã´Â ºÐ?)
À¯´Ð½º¿ëÀ¸·Î´Â GNU emacs ´Ù±¹¾î ÆùÆ®¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
À¯´ÏÄÚµå·ÎºÎÅÍ À̵é ÆùÆ®ÀÇ À妽º·Î ¸ÅÇÎÇØÁÖ´Â ÀÚ¹Ù¿ë ÆùÆ® ¸ÅÇÎ È­ÀÏÀ»
http://camars.kaist.ac.kr/~dtkim/java/index ¿¡¼­ °¡Á®´Ù°¡
jdk1.x\lib\font.properites.ko È­ÀÏÀ» ´ëüÇÏ¸é µË´Ï´Ù.


À̶§, font.properites.ko È­ÀÏÀ» ÀÏ¹Ý »ç¿ëÀÚ°¡ ¼öÁ¤ÇØ¾ß ÇÑ´Ù´Â ¹®Á¦Á¡À»
°®°í ÀÖ½À´Ï´Ù.
JDK 1.2¿¡¼­´Â ½Ã½ºÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â ÆùÆ® ¸ñ·ÏÀ» ¾Ë¾Æ³¾ ¼ö ÀÖÀ¸¹Ç·Î,
ÀÌ·¯ÇÑ ÀÛ¾÷ÀÌ ÇÊ¿ä¾øÀ» °Í °°½À´Ï´Ù.
¶ÇÇÑ, À̶§¹®¿¡ JDK 1.2 º£Å¸ÆǵéÀÇ Ãʱ⠱⵿ ½Ã°£ÀÌ ¿À·¡°É¸®´Â °ÍÀ¸·Î
¾Ë·ÁÁ® ÀÖ½À´Ï´Ù.
ÇÏÁö¸¸, ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î ÇÑ±Û ÆùÆ®µµ ¾Ë¾Æ³»°í ÀÌ¿ëÇÒ ¼ö ÀÖ´Â Áö´Â
¾ÆÁ÷ Á¶»çÇغ¸Áö ¸øÇß½À´Ï´Ù.


ÇÑ°¡Áö ±Ã±ÝÇÑ °ÍÀº Win32 APIÁß¿¡¼­ TextOutA¿Í TextOutW¶ó´Â
ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¹®ÀÚ¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù°í ÇÏ´Â µ¥,
À̶§, TextOutW¿¡ À¯´ÏÄÚµå 2.0 Äڵ尪À» ÀÎÀÚ·Î ³Ñ°Ü¼­ Ãâ·ÂÇÒ ¼ö ÀÖ³ª¿ä?
±×·±°æ¿ì, True Type ÆùÆ®³»ÀÇ À¯´ÏÄÚµå ¸Ê Å×À̺íÀ» ÀÌ¿ëÇؼ­ Ãâ·ÂÀ»
ÇÏ°Ô µÇ³ª¿ä?
±×·¸´Ù¸é, Latin-1 ¹®ÀÚ¸¦ ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© À¯´ÏÄÚµå·Î Ãâ·ÂÇÏ´Â °æ¿ì,
font association¿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê°í ÇѱÛÀÌ ¾Æ´Ñ Latin-1 ¹®ÀÚ·Î
Ãâ·ÂÀÌ µÇ³ª¿ä?
ÀÌ·± Áú¹®À» ÇÏ´Â ÀÌÀ¯´Â, ÀÚ¹ÙÀÇ ÆùÆ® ¸ÅÇÎ È­ÀÏÀ» ¾Æ¹«¸® ¹Ù²Ù°í
cyberbit ÆùÆ®¸¦ ¼³Ä¡ÇÏ°í, MSÀÇ ´Ù±¹¾î ÆùÆ®¸¦ ¼³Ä¡ÇÏ°í, ±× ÆùÆ®³»ÀÇ
À¯´ÏÄÚµå ¸Ê Å×À̺íÀ» ÀÌ¿ëÇغ¸·Á°í ¾Ö½áµµ ÇÑ±Û À©µµ¿ìÁî¿¡¼­´Â
¸ðµÎ ½ÇÆÐÇ߱⶧¹®ÀÔ´Ï´Ù.
¶ÇÇÑ, À¯´ÏÄÚµå ¸Ê Å×À̺íÀ» ÀÌ¿ëÇÏÁö ¸øÇϸé, ÆùÆ®³»ÀÇ ¸ðµç ¹®ÀÚ¸¦
ÀÚ¹Ù¿¡¼­ Á¦´ë·Î ÀÌ¿ëÇÒ ¼ö°¡ ¾ø½À´Ï´Ù.
ÇÏÁö¸¸, ¿µ¹® À©µµ¿ìÁî¿¡¼­´Â ÀÌ·± ¹®Á¦°¡ »ý±âÁö ¾Ê´Â °Í °°´õ±º¿ä.
À̺κÐÀº ¾î´ÀºÐÀ̵çÁö ¾Æ½Ã´Â´ë·Î ²À ´äÇØÁÖ¼ÌÀ¸¸é ÁÁ°Ú½À´Ï´Ù.



>
> Cp949 ¹®Á¦ ÀÌ¿Ü¿¡ ´ÙÀ½°ú °°Àº ¹®Á¦°¡ JDK 1.1.5¿¡ ÀÖ½À´Ï´Ù.
....
>
> 2. ÇöÀç EUC-KR, ISO-2022-KR, UHC/Cp949, IBMÀÇ AIX¿¡¼­ ¾²´Â °Í(¾Æ¸¶,
> EUC-KRÇ º¯Çü) µîÀÇ ÀÎÄÚµùÀ» Áö¿øÇϴµ¥(¹°·Ð, UTF8Àº µðÆúÆ®·Î
> Áö¿øÇÏÁö¿ä), "Á¶ÇÕ ÀÎÄÚµù"µµ -½ÇÁ¦·Î ¾ó¸¶³ª ¾µ Áö´Â ¸ð¸£Áö¸¸-
> Áö¿øÇØ ÁÖ¾î¾ß ÇÒ °ÍÀ¸·Î º¾´Ï´Ù.


Á¶ÇÕ ÀÎÄÚµù Áö¿ø¿¡ ´ëÇؼ­´Â ¿ëµµ¸¦ Àß ¸ð¸£°Ú±º¿ä.
ÅëÇÕ ¿Ï¼ºÇüÀº Äڵ尪ÀÌ ÁöÀúºÐÇϱâ´Â ÇÏÁö¸¸, Á¶»çÇغ¸´Ï Ư¼ö ±âÈ£¸¦ ÇÇÇسª°¡´Â µî
¹®Á¦ÀÇ ¼ÒÁö¸¦ ÃÖ¼ÒÈ­ÇÏ·Á´Â ³ë·ÂÀÌ ¿³º¸ÀÌ´õ±º¿ä.


>
> 3. ÀÌ°ÍÀº Çѱ¹¾î locale¿¡¸¸ ÇØ´çÇÏ´Â ¾ê±â´Â ¾Æ´Ñµ¥, µµ´ëü locale°ú
> ½Ã°£´ë¸¦ ¿¬°ü½ÃÅ°´Â °ÍÀº ´©±¸ÀÇ ¹ß»óÀÎÁö ¸ð¸£°Ú±º¿ä. Çѱ¹¾î localeÀ»
> ¾´´Ù°í Çصµ ¹Ì±¹ µ¿ºÎ ½Ã°£´ë¸¦ ¾µ ¼öµµ ÀÖ°í, ÁߺΠÀ¯·´ ½Ã°£´ë¸¦ ¾µ ¼öµµ
> ÀÖÀ»ÅÙµ¥, Çѱ¹¾î localeÀ» °í¸£¸é ÇöÀç ½Ã½ºÅÛÀÇ ½Ã°£´ë ¼³Á¤À» ¹«½ÃÇÏ°í
> ¹«Á¶°Ç Çѱ¹ Ç¥Áؽ÷Π½Ã°£À» Ç¥½ÃÇÏ´Ù´Ï ¾î󱸴ϰ¡ ¾øÀ´Ï´Ù.


·ÎĶ°ú ½Ã°£´ë°¡ ÀüÇô ´Ù¸¥ °³³äÀÓÀ» ÀÚ¹Ù¼ÒÇÁÆ® ¹× ¿¬ÇÕ È¸»çÀÇ ¿£Áö´Ï¾îµéÀÌ
¸ô¶úÀ»¸®°¡ ¾øÀ» °ÍÀÔ´Ï´Ù.
ÀÚ¹Ù°¡ ½Ã½ºÅÛ¿¡ ¼³Á¤µÈ ½Ã°£´ë¸¦ ¾Ë¾Æ³»´Â µ¥ ÃʱâºÎÅÍ ¹®Á¦°¡ ¸¹¾ÒÀ¸¸ç,
¶ÇÇÑ, ½Ã°£´ë À̸§ÀÌ Ãæµ¹ÇÏ´Â °æ¿ìµµ ¸¹Àº °Í °°´õ±º¿ä.
(KST¶ó´Â À̸§ÀÌ ´Ù¸¥ ³ª¶ó¿¡µµ »ç¿ëµÇ³ª¿ä?)
¾Æ¸¶µµ, ÀÌ·± ¹®Á¦Á¡À» ÇÇÇسª°¡±â À§ÇÑ Àӽà ¹æÆíÀÌ ¾Æ´Ï¾ú³ª¶ó°í
ÃßÃøÇÏ°í ÀÖ½À´Ï´Ù.


>
> 4. À̰͵µ ÀϹÝÀûÀÎ ¹®Á¦Àε¥ locale ¼³Á¤À» Çصµ ±×¿¡ ´ëÀÀÇÏ´Â ÀÎÄÚµùÀ»
> ¼Õ½±°Ô ¼³Á¤ÇÒ ¹æ¹ý(ÀÎÄÚµùÀº µû·Î ¼³Á¤ÇØ¾ß ÇÔ)ÀÌ ¾ø´Â °Íµµ ¹®Á¦ÀÎ °Í
> °°½À´Ï´Ù. ko_KR °°À¸¸é locale ¼³Á¤½Ã EUC_KR, ISO-2022-KR, Cp949/UHC,
> JOHAB, UTF8 µîÀÇ ÀÎÄÚµùµµ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸é ´õ ÁÁÀ» °Í °°´Ù´Â »ý°¢ÀÔ´Ï´Ù.


½Ã½ºÅÛ locale ¼³Á¤¿¡¼­ÀÇ ÀÎÄÚµù ÁöÁ¤Àº ½Ã½ºÅÛÀÌ Áö¿øÇÏ´Â °ÍÀ¸·Î¸¸ ÇÑÁ¤µÇ´Â
°Í °°½À´Ï´Ù.
¾Æ½Ã´Ù½ÃÇÇ ÀÚ¹Ù´Â ´ë´ÜÈ÷ ¸¹Àº ÀÎÄÚµùÀ» ÁöÁ¤ÇÏ°í ÀÖÀ¸¸ç, ½Ã½ºÅÛÀÇ ±â´É Ãß°¡´Â
ÀϹÝÀûÀ¸·Î ½¬¿î °ÍÀÌ ¾Æ´Ï¹Ç·Î, ÀÚ¹Ù¸¸ÀÌ ÀÌÇØÇÏ´Â ÀÎÄÚµù ȯ°æ º¯¼ö¸¦
Ãß°¡½ÃŲ´Ù¸é µÉ °Í °°½À´Ï´Ù.
¾ÆÁ÷Àº ±×·± ȯ°æ º¯¼ö°¡ ¾ø´Â °ÍÀ¸·Î ¾Ë°í ÀÖÀ¸¸ç,
ÇöÀç·Î¼­´Â ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀÇ °æ¿ì¿¡ ÇÑÇÏ¿©,
-Dfile.encoding=ms949 µîÀÇ ¸í·ÉÇà ÀÎÀÚ¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.


Á¦°¡ µå¸° Áú¹®¿¡ ´ëÇÏ¿© ´©±º°¡ Àß ¼³¸íÇØÁֽøé ÁÁ°Ú½À´Ï´Ù.


--
Deogtae Kim (±è´öÅÂ)
CA Lab. CS Dept. KAIST
http://calab.kaist.ac.kr/~dtkim/java





´ÙÀ½ ±Ûµé:



À̾ ±Û¿Ã¸®±â(´äÇϱâ)

À̸§:
E-Mail:
Á¦¸ñ:
³»¿ë:
°ü·Ã URL(¼±ÅÃ):
URL Á¦¸ñ(¼±ÅÃ):
°ü·Ã À̹ÌÁö URL:


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]