À̱ÛÀº ÆÄÀ̽ã Ãʺ¸ÀÇ ±ÛÀÔ´Ï´Ù. ±×¸®°í »õ·Î µé¾î¿À´Â ÆÄÀ̽ã Ãʺ¸¸¦ À§ÇÑ ±ÛÀÔ´Ï´Ù.
johnsonjÀÇ °³ÀÎÀûÀÎ »ý°¢¿¡ ºÒ°úÇϹǷΠÀüÀûÀ¸·Î ½Å·ÚÇϽÃÁú ¸¶½Ã±æ ºÎʵ右´Ï´Ù.

À©µµ¿ì¿¡¼­ÀÇ ÆÄÀ̽ã À¯´ÏÄÚµå ÇÑ±Û Ã³¸® ¹®Á¦

ÀÌ ±ÛÀº ÇÑ±Û ¹®Á¦·Î °í¹ÎÀ» ÇÏ´Â ÆÄÀ̽ã Ãʺ¸ÀÚ¸¦ À§ÇÑ ±ÛÀÔ´Ï´Ù. º¹ÀâÇÑ ÀÌ·ÐÀº ¼³¸íÇÒ ´É·Âµµ µÇÁö ¾Ê½À´Ï´Ù. ¿ÀÁ÷ Ç¥¸é»óÀ¸·Î µå·¯³­ ¹®Á¦¿¡¼­ ºÎÅÍ ¿ªÀ¸·Î Ãß·ÐÇØ º¸°í ÀÖÀ¸¸ç ±×¸®°í ÀüºÎ °¡Á¤°ú Ãß·ÐÀ¸·Î °¡µæÂ÷ ÀÖ´Â ¹®¼­ÀÔ´Ï´Ù. ÀÌ ±ÛÀÇ ¸ñÀûÀº À¯´ÏÄÚµå ÇÑ±Û Ã³¸® Àü¹Ý¿¡ ´ëÇÑ ÀÌÇØÀÇ Ã¼°è¸¦ ¼¼¿ì´Âµ¥ ÀÖ½À´Ï´Ù. ¹°·Ð ÀÌ·ÐÀÇ Ã¼°è´Â ¹Ì¿Ï¼ºÀÔ´Ï´Ù. ±×·³¿¡µµ À̱ÛÀÌ ¹ßÇ¥µÇ´Â ÀÌÀ¯´Â ÇѱÛÄÚµå 󸮿¡ °üÇÑ ÇѰ³ÀÇ Áöħ¼­µµ ¾ø´Â »óȲ¿¡¼­ ÆÄÀ̽ã Ãʺ¸ÀÚµéÀÌ ¸Ó¸®¸¦ ¸Â´ë°í ½º½º·Î ÇØ°á¹æ¾ÈÀ» ã´Â ±âÆøÁ¦°¡ µÇ±â¸¦ ¹Ù¶ó´Â ¸¶À½À¸·Î ±ÛÀ» ¾¹´Ï´Ù. À̱ÛÀ» Àд ºÐÀÌ ¹Ýµå½Ã ¸í½ÉÇØ¾ßÇÒ »çÇ×Àº ´ÙÀ½°ú °°½À´Ï´Ù. ¿ì¼± ½ÇÇàȯ°æÀº À©µµ¿ì 98ÀÌ°í ÆÄÀ̽㠹öÀü 2.1.1À» ±âÁØÀ¸·Î ÇÏ¿© ¼³¸íÇϰڽÀ´Ï´Ù. ´Ù¸¥ ¿î¿µÈ¯°æÀº Å×½ºÆ®ÇÏÁö ¸øÇÏ¿´½À´Ï´Ù. ÀÚ½ÅÀÇ ½ÇÇàȯ°æÀ», ƯÈ÷ Äڵ忡 ´ëÇØ ÁÖÀǸ¦ ±â¿ïÀÌÁö ¾ÊÀ¸¸é ÀÌÇØÇÒ ¼ö ¾ø´Â Çö»óµé¿¡ °è¼ÓÇØ¼­ ¸¶ÁÖÄ¥ °ÍÀÔ´Ï´Ù.

À©µµ¿ì¿¡¼­ À¯´ÏÄÚµå ÇÑ±Û Ã³¸®¹®Á¦ È¥¶õÀÇ ±Ù¿ø

ÆÄÀ̽ãÀÌ À¯´ÏÄڵ带 Áö¿øÇÑ´Ù°í Çϴµ¥ ½ÇÁ¦·Î À¯´ÏÄڵ带 ÀÌ¿ëÇϴµ¥¿¡´Â ¸¹Àº ¾î·Á¿òÀÌ ÀÖ½À´Ï´Ù. ±× ¹®Á¦¸¦ ÆÄÀ̽㿡 µ¹¸®°í ¾ðÁ¦ ÇØ°áµÇ°ÚÁöÇÏ°í ±â´Ù¸®°í ÀÖ¾ú½À´Ï´Ù. ¸¶³É ±â´Ù¸± ¼ö´Â ¾ø¾î¼­ Àִµ¥·Î³ª ÀÌ¿ëÇØº¸ÀÚ ÇÏ°í ¿­½ÉÈ÷ Å×½ºÆ®ÇØ º» °á°ú ÇѱÛÀÌ ¹®Á¦¸¦ ÀÏÀ¸Å°´Â ¿øÀÎÀº ÆÄÀ̽ãÀÇ ¹®Á¦°¡ ¾Æ´Ï¶ó ¿ì¸®°¡ ÆÄÀ̽ãÀÇ À¯´ÏÄÚµå ÀÔÃâ·Â ü°è¸¦ ÀÌÇØÇÏÁö ¸øÇؼ­ ¿À´Â ¿ÀÇØÀÇ °á°ú°¡ ¾Æ´Ñ°¡ »ý°¢ÇÏ°Ô µÇ¾ú½À´Ï´Ù. Áö±Ý±îÁö´Â ÇÑ±Û ÄÚµ¦ ¼³Ä¡¿Í idle ÆÐÄ¡·Î ÇÑ±Û ¹®Á¦¸¦ ±×·°Àú·° ó¸®Çϰí ÀÖ¾ú½À´Ï´Ù. ±×·¯³ª ±¸À̸¦ ºÙ¿© º¼¶§ ´çÇÏ´Â ¹«Áö¸·ÁöÇÑ ÇÑ±Û ¹®Á¦´Â µµÀúÈ÷ ÀÌÇØ ÇÒ ¼ö ¾ø´Â ¹®Á¦¿´½À´Ï´Ù.

¹®Á¦ÀÇ ÇÙ½ÉÀº ÄÚµåÀüȯ(encoding)!!!.

º»Àεµ ±×·¸°Ô »ý°¢Çß°í ¿©·¯ ÇÑ±Û Ã³¸® ¹®¼­¸¦ Á¾ÇÕÇØ º¼¶§ ÄÚµåÀüȯÀ» euc-kr·Î Ç϶ó°í ±ÇÀåµÇ°í ÀÖ½À´Ï´Ù. ¹®Á¦´Â ±×·¸°Ô ÇØµµ ÇÑ±Û ¹®Á¦´Â °÷°÷¿¡¼­ Æ¢¾î ³ª¿À´Â °ÍÀ̾úÀ¾´Ï´Ù. ¾îÂ÷ÇÇ ¸Á°¡Áú ¹Ù¿¡´Â óÀ½ºÎÅÍ ÇØº¸ÀÚ. ÆÐÄ¡°í ¹¹°í ÀüÇô ¾øÀÌ Ã³À½ºÎÅÍ ½ÃÀÛÇÏ¿´½À´Ï´Ù.

Çѱ۹®Á¦ È¥¶õÀÇ ±Ù¿øÀº À¯´ÏÄÚµå ÇÑ±Û ÀÔÃâ·Â ó¸® ½Ã½ºÅÛÀ» ÀÌÇØÇÏÁö ¸øÇÏ´Â µ¥¼­ ¿À´Â ¼ö ¸¹Àº Èñ¸Á»çÇ× ¶§¹®ÀÔ´Ï´Ù. Á¤È®È÷ À̾߱â Çϸé ÀÔÃâ·Â ü°è¿¡ ´ëÇÑ ÀÌÇØ ¾øÀÌ ³Ê¹«³ª ´Ù¾çÇÑ ¿ä±¸¸¦ Çϰí ÀÖ°í ¶Ç ÆÄÀ̽ãÀÇ À¯¿¬¼º ¶§¹®¿¡ ²Ä¼ö¸¦ ½á¼­ ±×°ÍÀÌ °¡´ÉÇϴٴµ¥ ÀÖ½À´Ï´Ù. ºñ·Ï ±×°ÍÀÌ °¡´ÉÇÏ´Ù ÇÒÁö¶óµµ ±×·¸°Ô ÇØ¼­´Â ¾ÈµÇ´Â °ÍÀ̶ó°í »ý°¢ÇÕ´Ï´Ù. Á¤È®ÇÏ°Ô ¹«¾ùÀ» ¿ä±¸ÇØ¾ß ÇÏ´ÂÁö ±×¸®°í ±×°ÍÀ» ÆÄÀ̽㿡 ¸ÂÃß¾î ¾î¶»°Ô ÀÌ¿ëÇÒÁö ¾Ë¾Æº¸°íÀÚ ÇÕ´Ï´Ù. À̰ÍÀº °¡´É¼ºÀÇ ¹®Á¦°¡ ¾Æ´Õ´Ï´Ù. ÃÖ´ëÇÑ Æí¸®ÇÑ È¯°æÀ» °®Ãß°íÀÚ Çϴµ¥ ¸ñÀûÀÌ ÀÖ½À´Ï´Ù.

ÇÑ±Û Ã³¸® ¿¬±¸ÀÇ ¹ß´Ü

Áö±ÝÀº À¯´ÏÄÚµå·Î °¡´Â °úµµ±âÀÔ´Ï´Ù. ÀÌ °úµµ±â´Â »ó´ç±â°£ Áö¼ÓµÉ °Í °°À¸¹Ç·Î À¯´ÏÄÚµåÀÇ ÃµÇÏÅëÀÏÀ» ±â´Ù¸®±â¿¡´Â ³Ê¹« Áö·çÇÕ´Ï´Ù. ¾î¶»°Ô Çϵç ÇÑ±Û Ã³¸® ¸ÞÄ«´ÏÁòÀ» Áö±ÝÀÌ¶óµµ ¾Ë¾Æ¾ß ÇÑ´Ù´Â »ý°¢ÀÌ µé¾ú½À´Ï´Ù.

¾Æ·¡´Â Á¦°¡ ÇѱÛÄÚµå ¹®Á¦¸¦ »ý°¢ÇÏ°ÔµÈ °è±âÀε¥ ´Ù¸¥ »ç¶÷µéµµ ¸¶Âù°¡Áö°¡ ¾Æ´Ò±î¿ä. ¾î¶µç Àú¸¸ÀÇ Èñ¸Á»çÇ×À̶ó°í ÇսôÙ. ±¸ÀÌ¿¡ Ãâ·ÂÇϱâ À§ÇØ ÀÌ·¸°Ô ÀÏÀÏÀÌ ´ÙÀ½°ú °°Àº ÇÔ¼ö ȤÀº ¸Þ½îµå¸¦ »ç¿ëÇÏ´Â °ÍÀÌ °ú¿¬ ¿Â´çÇѰ¡¿´½À´Ï´Ù. ±×¸®°í °úµµ±â¿¡ óÇÑ ÆÄÀ̽ã À¯´ÏÄÚµåÀÇ Ã³¸®¹æ½ÄÀº ±×·¡¼­ ÇѱÛÀ» »ç¿ëÇÏ´Â Àú¿¡°Ô °ñÄ¡°Å¸®°¡ ¾Æ´Ò ¼ö ¾ø½À´Ï´Ù.

ù ¹øÂ°, Ãâ·ÂÀ» À§Çؼ­ encode¿Í unicode¸¦ »ç¿ëÇÏ´Â °ÍÀº ¾µµ¥ ¾ø´Â ³¶ºñ¶ó´Â °á·Ð¿¡ µµ´ÞÇÏ¿´½À´Ï´Ù. Àú·± ÇÔ¼ö¸¦ ¾²Áö ¾ÊÀ¸¸é Ãâ·ÂÀÌ ¾ÈµÇ´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù. ±×·¯³ª ±× ÀÌÀ¯°¡ ±âº»ÄÚµåÀüȯÀÌ euc-kr¿¡ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ´Ù¸¥ Äڵ带 ´Ù·ê ¶§´Â ±×³É À¯´ÏÄÚµå Áö¿øÆíÁý±â¸¦ ÀÌ¿ëÇØ¼­ ÆíÁýÇϰí ÀÚ½ÅÀÇ Å͹̳¯¿¡ ¸Â´Â ÄÚµå·Î ÀúÀåÇØ¼­ ½ÇÇàÇÏ´Â °ÍÀÌ °¡Àå ÆíÇÑ ¹æ¹ýÀÔ´Ï´Ù.

µÎ ¹øÂ°, Áö±ÝÀÇ ÇÁ·Î±×·¡¹Ö ȯ°æÀ¸·Î´Â unicode()´Â ¾î¿ ¼ö ¾øÀÌ ¾µ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. ÄÚµåÀüȯÀ» unicode·Î ¼³Á¤Çϰí -U·Î ½ÇÇุ µÈ´Ù¸é unicode()¸¦ ¾²Áö ¾Ê¾Æµµ µÇ°ÚÁö¸¸, ¼³»ç ±×·¸°Ô ¼º°øÇß´Ù°í ÇÏ´õ¶óµµ ³ª¸ÓÁö ±¸À̵éÀÌ utf-8Äڵ带 ¾²´ÂÇÑ ¶Ç º¯È¯ÇÏÁö ¾ÊÀ» ¼ö ¾ø½À´Ï´Ù. ´Ù½Ã ¸»Çϸé À¯´ÏÄÚµå·Î ³Ñ¾î°¡´Â °úµµ±â°¡ °è¼ÓµÇ´Â ÇÑ ¾î¿ ¼ö ¾øÀÌ unicode()¸¦ ½á¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. Áï 1 ¹ø¹®Á¦´Â µµÀüÇÒ ¸¸ÇÑ ÀÌÁ¡ÀÌ º°·Î ¾ø½À´Ï´Ù. ¼º°øÇصµ ³²´Â°Ô ¾ø´Â Àå»ç¶ó´Â °ÍÀÔ´Ï´Ù. Àû¾îµµ Áö±ÝÀÇ È¯°æÀ¸·Î¼­´Â ±×·¸´Ù´Â °ÍÀÔ´Ï´Ù.

Âü°íÇÑ ¹®¼­

ÆÄÀ̽ã ȨÀÇ i18nµ¿¾Æ¸®¿¡ ÀÖ´Â ¼¼ °ÇÀÇ À¯´ÏÄÚµå °ü·Ã ¹®¼­ÀÔ´Ï´Ù.
ÆÄÀ̽㠹®¼­°í¿¡ ÀÖ´Â ¹ø¿ª ¹®¼­¸¦ ÂüÁ¶ ÇÏ¿´½À´Ï´Ù:

½ÇÇàȯ°æ

´Ù½Ã Çѹø ȯ°æÀ» È®½ÇÇÏ°Ô ÇØ µÓ´Ï´Ù. À¯´ÏÄÚµåÀÇ ÇѱÛ󸮴 ȯ°æ¿¡ ³Ê¹«³ª ¹ÐÁ¢ÇÏ°Ô ¿¬°üµÇ¾î ÀÖ½À´Ï´Ù.

°¡Àå È®½ÇÇÑ ÇÑ±Û ÇØ°áÃ¥

encodingÀº ¸¶À½´ë·Î ¹Ù²Ù¾î¼­ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ »ç½ÇÀº ¿ÀÁ÷ ¸í·É¾î ¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍ¿¡¸¸ ÇØ´çÇÕ´Ï´Ù. ȣȯ¼ºÀº ÀüÇô »ó°ü¾ø½À´Ï´Ù. ±×Àú ÀÚ½ÅÀÇ Å͹̳¯¿¡ ¸Â°Ô »ç¿ëÇÏ¸é µË´Ï´Ù. encodingÀº »ç¿ëÇÒ Å͹̳¯(â, ÆÄÀÏ)ÀÇ Äڵ忡 ¸ÂÃß¾î¾ß ÇÏ´Â °íÁ¤µÈ °ªÀ̶ó´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª ÇÁ·Î±×·¡¹Ö ÆÄÀÏÀ» ¸¸µå½Ã·Á¸é utf-8ÀÌ Ç¥ÁØÀÔ´Ï´Ù. ±âº»Äڵ嵵 À̰ÍÀ¸·Î, ±âº»ÄÚµåÀüȯµµ À̰ÍÀ¸·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. utf-8Àº ´ë¼¼ÀÔ´Ï´Ù.

±âº»ÄÚµåÀüȯÀ» °³ÀÎÀÇ ±âÈ£¿¡ ¸Â°Ô ¸¶À½´ë·Î ¹Ù²Ù¾î¼­ »ç¿ëÇϽô °ÍÀº È¥¶õÀÇ ±¸··ÅÖÀÌ¿¡ ºüÁö°Ô µË´Ï´Ù. Á¤È®È÷ À̾߱âÇϸé ÀÛµ¿ÇÏÁöµµ ¾Ê½À´Ï´Ù. ±âº»ÄÚµåÀüȯÀ» Å͹̳¯ÀÇ È¯°æ¿¡ ¸Â°Ô °¢°¢ ¼³Á¤ÇØÁÖ¾î¾ß Çϴµ¥ ÀÌ·¸°Ô ÇØ¾ß ÇÏ´Â ÀÌÀ¯´Â ³ªÁß¿¡ ¼³¸íÇÏ°í ¼ºÁú±ÞÇÑ »ç¶÷, ¶Ç´Â À̷бîÁö´Â ÇÊ¿ä¾ø´Â »ç¶÷À» À§ÇÏ¿© À§ ¼¼ °ÇÀÇ ¹®¼­¸¦ ÂüÁ¶ÇÑ °á°ú·Î ³ª¿Â (Á¦°¡ ÆÇ´ÜÇϱ⿡) °¡Àå È®½ÇÇÑ ÇØ°áÃ¥À» ¸ÕÀú ¸»¾¸µå¸³´Ï´Ù. ÄÚµåÀüȯÀ» ¾Æ·¡¿Í °°ÀÌ ¸ÂÃß¾î µÎ¾î¾ß ÇÕ´Ï´Ù. ´Ù¸¥ ÄÚµåÀüȯÀ¸·Î´Â ¾öû³­ ºÒÆíÀ» °¨¼öÇØ¾ß ¿øÇÏ´Â °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

  • 1. ¸í·É¾î ¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍ
    encoding="mbcs"
  • 2. IDLE ÅëÇÕȯ°æ
    encoding="utf-8"
  • 3. ÆÄÀ̽ã À© ÅëÇÕȯ°æ
    encoding="mbcs"
  • 4. ÆíÁý±â
    encoding="ÆíÁý±â¿¡ »ç¿ëÇÑ ÄÚµå"

¿Ö IDLE¿¡¼­ Ãâ·ÂÀº µÇ´Âµ¥ ÀÔ·ÂÀÌ µÇÁö ¾Ê´Â°¡?

½Ã۴µ¥·Î encoding="utf"·Î ¼³Á¤ÇÏ¿´À»Áö¶óµµ ÇѱÛÀº ÀÔ·ÂÀÌ ¾ÈµË´Ï´Ù. ÆÄÀ̽㠸ް¡ À§Á¬À» ¹Þ¾Æ º¸½Ã¸é ÀԷµ¥¸ð°¡ Àִµ¥ ¿©±â¿¡¼­µµ ÀÔ·ÂÀº µÇÁö ¾Ê½À´Ï´Ù. ¿øÀÎÀÌ ¹«¾ùÀϱî? ¾Æ¹«·¡µµ tkinter¿Í ÇѱÛÀÌ ¸ÂÁö ¾Ê´Â°¡ º¸´Ù¶ó°í Æ÷±âÇϰí ÀÖ¾ú´Âµ¥ ÀϺ» ÆÄÀ̽㠻ç¿ëÀÚ ¸ðÀÓ¿¡¼­ ÇØ°áÃ¥À» ã¾Ò½À´Ï´Ù. À̰ÍÀÌ °¡´ÉÇÏ°Ô µÊÀ¸·Î½á ÇÑ±Û ÀÔÃâ·Â ó¸®ÀÇ ÀÌ·ÐÀ» ±×³ª¸¶ ±¸¼ºÇØ º¼ ¼ö ÀÖ¾ú½À´Ï´Ù.

±âº»Ã³¸® ÄÚµå      mbcs  (1)    utf-8    (2)   ucs-2
   ºÐ·ù           À©µµ¿ì  -    (Tkinter   -    ÆÄÀ̽ã) 
                                       IDLE

ÀÌ À¯ : ÆÄÀ̽ãÀº tclµð·ºÅ丮¸¦ tkinter ¸ðµâÀÌ ÀÖ´Â µð·ºÅ丮·Î Á¦´ë·Î ÀνÄÇϰí ÀÖ½À´Ï´Ù. ±×·¯³ª tclÀº ÀÚ½ÅÀÇ µð·ºÅ丮¸¦ fixtk.pyÀÇ ¹ö±× ¶§¹®¿¡ ÀÚ½ÅÀÇ µð·ºÅ丮¸¦ ÀνÄÇÏÁö ¸øÇϱ⠶§¹®ÀÔ´Ï´Ù. ÀÔ·ÂÀ» °¡¸¸È÷ Ãß·ÐÇØ º¸¸é tkinter´Â À©µµ¿ìÀÇ ÄÚµåÀÎ mbcs¸¦ ÀÚ½ÅÀÇ ÄÚµåÀÎ "utf-8"·Î ¹Ù²Ù¾î¾ß Çϴµ¥ º¯È¯¸ÞÄ«´ÏÁòÀ» lib/tk8.3/encoding¿¡¼­ ã±â ¶§¹®À̶ó°í »ý°¢µË´Ï´Ù(1). tclÀÌ º¯È¯ÇÑ "utf-8"Àº »õ·Î¿î ÀÔ·ÂÀÌ µÇ´Âµ¥ lib/encoding¿¡¼­ º¯È¯ÇÏ¿© ºñ·Î¼­ ÆÄÀ̽㿡 °Ç³×¾îÁ® ÀÔ·Â(ucs-2)µÉ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù(2). ÀÌ·¸°Ô ó¸®µÈ utf-8ÄÚµå´Â ´Ù½Ã Ãâ·ÂÀ» À§ÇØ tkinter·Î °¡°í ¿©±â¿¡¼­ ´Ù½Ã mbcs·Î º¯È¯µÇ´Â °ÍÀÌ ¾Æ´Ñ°¡ »ý°¢ÇÕ´Ï´Ù.

ÇØ°áÃ¥ :

  1. ÆÄÀ̽ãµð·ºÅ丮/tcl/tk8.3 µð·ºÅ丮¸¦ ÆÄÀ̽ãµð·ºÅ丮/lib/tk8.3¿¡ º¹»çÇÏ´Â ¹ý
    (ÁÖÀÇ : lib°¡ ¼Ò¹®ÀÚÀÔ´Ï´Ù....½ÇÁ¦·Î´Â tcl8. 3. */win/tclWinInit.c ÀÇ TclpInitLibraryPath ÇÔ¼ö·Î lib\tcl8. 3 ÀÌ Å½»ö µÇÁö¸¸, À©µµ¿ì¿¡¼­´Â Æú´õ¸íÀÇ ´ë¹®ÀÚ ¼Ò¹®ÀÚ°¡ ±¸º°µÇÁö ¾ÊÀ¸¹Ç·Î Lib\tcl8. 3 ¿¡¼­µµ Àνİ¡´ÉÇÏ´ä´Ï´Ù. - ÀϺ» ÆÄÀ̽㠻ç¿ëÀÚ µ¿È£È¸
  2. ȯ°æ º¯¼ö¸¦ ¼³Á¤ÇÏ´Â ¹ý
    • SET TCL_LIBRARY=ÆÄÀ̽ãµð·ºÅ丮/TCL/TCL8.3
    • SET TK_LIBRARY=ÆÄÀ̽ãµð·ºÅ丮/TCL/TK8.3
  3. fixtk.py¸¦ ¼öÁ¤ÇÏ´Â ¹ý - ¿äÁ¡Àº _tkinter¸¦ ¼öÀÔÇÏÁö ¾Ê´Â °Í.
    --------  ¿ø¹® ½ÃÀÛ --------------------------------------------------- 
    # import sys, os, _tkinter : _tkinter¸¦ ¼öÀÔÇÏÁö ¸»°Í 
    import sys, os 
    # ver = str(_tkinter.TCL_VERSION) : ¹öÀüÀ» ¾Ë ¹æ¹ýÀÌ ¾øÀ¸¹Ç·Î Á÷Á¢ ÀÔ·Â 
    ver = "8.3" 
    for t in "tcl", "tk": 
        v = os.path.join(sys.prefix, "tcl", t+ver) 
        if os.path.exists(os.path.join(v, "tclIndex")): 
    os.environ[t.upper() + "_LIBRARY"] = v 
    ------------ ¿ø¹® ³¡ --------------------------------------------------- 
    

ºÎ¼öÀû È¿°ú: ÀÔ·Â Ãâ·Â dz¼±µµ¿ò¸»¿¡µµ ÇѱÛÀÌ Ãâ·ÂµË´Ï´Ù. Tkinter ÇÁ·Î±×·¡¹ÖÇϽô ºÐÀº ÆÄÀ̽㠸ް¡ À§Á¬À» »ç¿ëÇÏ½Ã¸é ¾ÆÁÖ Æí¸®Çϸ®¶ó »ý°¢µË´Ï´Ù.

ÁÖ¿î Á¤º¸: IDLE¿¡¼­ ÇÑ±Û ÆùÆ® ¸ð¾çÀ» ¹Ù²Ù¾î º¸·Á¸é : IDLE µð·ºÅ丮¿¡ ÀÖ´Â config-win.txt¸¦ ¿­¾î¼­ ¿øÇÏ´Â ÆùÆ®·Î ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù. ÇÑ±Û ÆùÆ® À̸§Àº ¹Ýµå½Ã utf-8·Î ÀúÀåÇØ¾ß ÇÕ´Ï´Ù. IDLEÀº utf-8ÆíÁý±â¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.

±¸ÀÌ ¹®Á¦ (pygtk, pyqt, tkinter, wxpython, Fxpy)

±¸ÀÌ ÇÁ·Î±×·¥Àº ¿¡µðÅÍ·Î ÀÛ¼ºµÇ´Â °ÍÀÌ º¸ÅëÀÔ´Ï´Ù. ½ÇÁ¦·Î ±¸ÀÌ¿¡ Ãâ·ÂµÇ´Â ¹®ÀÚ¿­Àº ÆíÁý±â¿¡ »ç¿ëÇÑ ÄÚµå ±×´ë·Î º¸¿©Áý´Ï´Ù. ´Ù½Ã ¸»Çؼ­ ÄÚµåÀüȯ°ú´Â ÀüÇô »ó°üÀÌ ¾ø½À´Ï´Ù. ´Ü¼øÈ÷ Ãâ·ÂµÇ´Â ¹®ÀÚ¿­¸¸À» º¸°í ½Í´Ù¸é ÄÚµåÀüȯÀº ¾Æ¹«°Å³ª ¼³Á¤Çصµ µË´Ï´Ù. ´Ù½Ã ¸»Çؼ­ ÆíÁý±âÀÇ ÄÚµå¿Í ±¸ÀÌÀÇ Äڵ尡 ÀÏÄ¡¸¸ ÇÑ´Ù¸é ÁöÀúºÐÇÏ°Ô .encode()¸¦ »ç¿ëÇÒ Çʿ䰡 ÀüÇô ¾ø½À´Ï´Ù. ±×·±µ¥ ÄÚµåÀüȯÀº Àý´ë·Î ÆíÁý±â¿¡¼­ »ç¿ëÇÑ ÄÚµå¿Í ¶È°°ÀÌ ÀÏÄ¡½ÃÄÑ¾ß ÇÕ´Ï´Ù. ÀÌÀ¯´Â ¹®ÀÚ¿­ 󸮿¡¼­ ¹®Á¦°¡ ¹ß»ýÇϱ⠶§¹®ÀÔ´Ï´Ù. Áï unicode()·Î À¯´ÏÄÚµå 󸮸¦ Çϰí len()À» »ç¿ëÇÏ¸é °³¼ö°¡ ¿¹»óÇÏÁö ¸øÇÑ °á°ú°¡ ³ª¿É´Ï´Ù. ´Ù½Ã ¸»Çؼ­ ÄÚµåÀüȯÀ» ¼³Á¤ÇÏ´Â ¹®Á¦´Â ÀÔÃâ·Â°ú »ó°üÀÌ ¾ø°í ¹®ÀÚ¿­ 󸮸¦ À§ÇØ unicode()¸¦ »ç¿ëÇÒ ¶§ ¹ß»ýÇÏ´Â ¹®Á¦¿Í ¿¬°üÀÌ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½°ú °°Àº ±¸ÀÌ ÇÁ·Î±×·¥Àº °ÅÀÇ ¿¡µðÅÍ·Î ÀÛ¼ºÇÏ½Ç °ÍÀÌ°í ±âº» ÄÚµåÀüȯ¿¡ ¸ÂÃß¾î ÀúÀåÇÏ¿©¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. °¢ ±¸ÀÌÀÇ ±âº» ÄÚµå´Â ³ª¸§´ë·Î °íÁ¤µÇ¾î Á¤ÇØÁ® ÀÖ´Ù°í ÆÇ´ÜµÇ´Â¹Ù,

1. wxpython, Fxpy : Çʼö encoding="mbcs"
ȯ°æÀÌ À©µµ¿ìÀ̹ǷΠ°¡Àå Ä£¼÷ÇÕ´Ï´Ù. À©µµ¿ì¿¡¼­ »ç¿ëÇÏ´Â ¿¡µðÅÍ´Â ´ëºÎºÐ mbcs·Î ÀúÀåÇÕ´Ï´Ù. ±×·¯¹Ç·Î encode()»ç¿ëÀ» ¾ÈÇØµµ ±×³É Ãâ·ÂµË´Ï´Ù. ±×·¡¼­ ¿ì¸®³ª¶ó¿¡¼­´Â À©µµ¿ì¿¡¼­ °¡Àå ¼±È£µÇ´Â ±¸À̰¡ µÇ°í ÀÖ½À´Ï´Ù. ´Ù¸¥ ÀϺ» Áß±¹µµ ¸¶Âù°¡Áö·Î ¼±È£µÇ¸®¶ó Ãß·ÐÇÕ´Ï´Ù.

2. pygtk, pyqt, tkinter : Çʼö encoding="utf-8"
ÇѱÛÀ» Ãâ·ÂÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ '¹®ÀÚ¿­.encode("utf-8")', ¶Ç´Â unicode(¹®ÀÚ¿­)À» »ç¿ëÇ϶ó°í Çϰí ÀÖ½À´Ï´Ù. ±×·¯µ¥ ÀÌ·¸°Ô ÇØµµ µÉ ¶§µµ ÀÖ°í ¾ÈµÉ ¶§µµ ÀÖ½À´Ï´Ù. ÀÌ ºÒ°¡»çÀÇÀÇ ÇÙ½ÉÀº »ç¿ëÇϽô ¿¡µðÅͰ¡ mbcs¶ó´Â ÄÚµå·Î ó¸®Çϰí ÀÖ´Ù´Â °ÍÀ» ¹Ìó À©µµ¿ìÀÇ »ç¿ëÀÚ°¡ ¸ô¶ú±â ¶§¹®ÀÌ¸ç ¶Ç Çϳª´Â ÀÚ½ÅÀÇ ±âº»ÄÚµåÀüȯ(incoding)À» ¸ð¸£°í Àִµ¥¼­ ¹ß»ýÇÏ´Â ¹®Á¦ÀÔ´Ï´Ù. ÆíÁý±â´Â Ãâ·ÂµÉ ȯ°æÀÇ Äڵ带 Èä³»³»°í ÀÖ´Â °ÍÀ̸ç, À§ÀÇ ±¸À̵éÀÌ utf=8À» ±âº» ÄÚµå·Î »ç¿ëÇϹǷΠÆÄÀÏÀ» ÀúÀåÇÏ½Ç ¶§ utf-8·Î º¯È¯ÇÏ¿© ÀúÀåÇØ¾ß¸¸ Á¦´ë·Î Ãâ·ÂµË´Ï´Ù. ±×·¸°Ô ÀúÀåµÈ ÆÄÀÏ¿¡¼­´Â Ãâ·ÂÀ» À§ÇÏ¿© .encode()¸¦ »ç¿ëÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. Áï ÄÚµåÀüȯÀº ¾î¶² °ÍÀÌ¶óµµ »ó°ü¾øÀÌ ±×´ë·Î Ãâ·ÂµË´Ï´Ù. ±×·¯³ª Á¦´ë·Î ÇÑ±Û °³¼ö¸¦ ¼¼°í ½ÍÀ¸¸é ¹Ýµå½Ã encoding="utf-8"À̾î¾ß ÇÕ´Ï´Ù. encodingÀÌ ´Ù¸¥ °ªÀÏ ¶§´Â unicode()¿¡ ¹Ýµå½Ã ¸í½ÃÀûÀ¸·Î ÄÚµåÀüȯÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. Ȥ½Ã¶óµµ ¹®ÀÚ¿­.encode("utf-8")', ¶Ç´Â unicode(¹®ÀÚ¿­)À» »ç¿ëÇØ Á¦´ë·Î ó¸®µÈ´Ù°í ¸¸Á·ÇÏ´Â »ç¶÷Àº À§ÀÇ ¼³¸í´ë·Î ¼³Á¤ÇϽøé Àû¾îµµ ¹®ÀÚ¿­¸¶´Ù ƯÁ¤ÇÑ ÁöÁ¤À» ÇØ¾ß ÇÏ´Â ¼ö°í¸¦ ´ú ¼ö ÀÖ½À´Ï´Ù.

Áï ÆíÁý±âÄÚµå-±¸ÀÌÄÚµå-ÄÚµåÀüȯÀÌ È¥¿¬ ÀÏü°¡ µÇ¾î¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.

À¯´ÏÄÚµå ÀÔÃâ·Â ü°èÀÇ ÀÌÇØ

¿ª½Ã °á·ÐºÎÅÍ À̾߱âÇÑ´Ù¸é, ÆÄÀ̽ã ÄÚ¾î´Â Àý´ë·Î ºüÁú¼ö ¾ø´Â Áß½ÉÀÌ°í ±× ÄÚµå´Â ucs-2ÀÔ´Ï´Ù. Áï¾îµµ º¯È¯ÀÇ ¼Ò½º¿Í ŸÄÏÁß Çϳª´Â ¹Ýµå½Ã ucs-2À̶ó´Â °ÍÀÔ´Ï´Ù. encode,decode,unicode ´Â ÆÄÀ̽ãÀÇ ucs-2¸¦ ¹Ýµå½Ã °¡Á¤Çϰí ÀÖ½À´Ï´Ù. ±×¸®°í ³ª¸ÓÁö Çϳª´Â Àΰ£ÀÌ º¸°í ÀÖ´Â È­¸éÀÇ ÄÚµåÀÔ´Ï´Ù. encodingÀº ³ª¸ÓÁö Çϳª, Áï Àΰ£ÀÇ È­¸é¿¡ ÀÖ´Â ÄÚµå ÇüŸ¦ ´ã°í ÀÖ´Â º¯¼ö°¡ µË´Ï´Ù. ¸¶À½´ë·Î È­¸éÀÌ ¹Ù²îÁö ¾Ê´Â´Ù¸é ¹Ù²îÁö ¾Ê´Â °ÍÀÌ Á¤»óÀÎ, ÇϳªÀÇ °íÁ¤µÈ º¯¼ö°¡ µÇ¾î¾ß ÇÕ´Ï´Ù.

ÄÚµåÀüȯÀ» ÀÌÇØÇϱâ À§ÇÑ ÇÙ½É Æ÷ÀÎÆ®´Â ¾Æ·¡¿Í °°½À´Ï´Ù.

À§ ¼¼°³´Â ÀÏ½É µ¿Ã¼ÀÔ´Ï´Ù. ƯÈ÷ ±âº»ÄÚµå¿Í ±âº»ÄÚµåÀüȯÀº ÀÏÄ¡ÇÏ¿©¾ß ÇÑ´Ù (ºÒ°¡´ÉÇÏ´Ù´Â À̾߱Ⱑ ¾Æ´Ï¶ó ½ÇÁ¦·Î´Â ¼ö°í¸¦ ´ú±â À§ÇѰÍÀ¸·Î ºÒ°¡ÇÏ´Ù´Â ¶æÀÔ´Ï´Ù.)

ÄÚµåÀüȯ(encoding)ÀÇ Á¸Àç ÀÌÀ¯¿¡ ´ëÇÏ¿©

À̿ܿ¡µµ ¿©·¯ ÇÔ¼öµéÀÌ °ü°èµÇ°ÚÁö¸¸ ÁÖ °ü½ÉÀ» µÎ´Â ´ë»óÀº ¾Æ·¡¿Í °°½À´Ï´Ù. Ãʺ¸°¡ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â ÄÚµåÀ̸ç Áö±Ý±îÁö ¿©·¯ ÇѱÛó¸® ¹æ¹ý¿¡ ³íÀÇµÈ ¸Þ½îµå ȤÀº ÇÔ¼öÁß °øÅëÀûÀ¸·Î ³ª¿À´Â °ÍµéÀÔ´Ï´Ù. ÀÌ¿ÜÀÇ ´Ù¸¥ Å×Å©´ÐÀº ³íÀÇÀÇ ´ë»ó¿¡¼­ Á¦¿ÜÇÕ´Ï´Ù. Ãʺ¸µéÀÌ ÀÌÇØÇÏÁö ¸øÇÏ´Â ¹æ½ÄÀ¸·Î 󸮵Ǵ ÇÑ±Û Ã³¸® ¹æ½ÄÀº (°³ÀÎÀûÀÎ ÆÇ´ÜÀ¸·Î) À߸øµÈ °ÍÀÔ´Ï´Ù.

ÄÚµåÀüȯÀÌ »ç¿ëµÇ´Â ¸Þ½îµå¿Í ÇÔ¼ö : ¹®ÀÚ¿­.encode(ÄÚµåÀüȯ), unicode(¹®ÀÚ¿­, ÄÚµåÀüȯ)

°¢ ÇÔ¼öÀÇ »ç¿ë¿ëµµ¸¦ ´ÙÀ½°ú °°ÀÌ ÃßÁ¤ÇÕ´Ï´Ù - Ãâ·ÂÀ» À§ÇÏ¿© ÀÓÀÇ·Î »ç¿ëÇÏ´Â °ÍÀº ¿ÇÁö ¾Ê´Ù´Â °ÍÀÌ º»ÀÎÀÇ ÆÇ´ÜÀÔ´Ï´Ù. ¾îµð±îÁö³ª Àú ÀڽŸ¸ÀÇ °æÇè°ú ¹ø¿ªµÈ ¹®¼­¸¦ ±âÃÊ·Î ÇÑ µ¶´ÜÀûÀÎ ÆÇ´ÜÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÆÇ´ÜÀ» ¾îµð¿¡¼­µµ º¸Áö ¸øÇÏ¿´½À´Ï´Ù.

´ÙÀ½Àº ³»ºÎÀûÀ¸·Î ÀÚµ¿ÀûÀ¸·Î »ç¿ëµÈ´Ù°í ÃßÁ¤µÇ´Â ¸Þ½îµå ȤÀº ÇÔ¼ö¿¡ ´ëÇÑ ¿ë¾îÀÇ Á¤ÀÇÀÔ´Ï´Ù.

°£´ÜÈ÷ À̾߱â ÇØ¼­ ÄÚµåÀüȯ(encoding)Àº Å͹̳¯°úÀÇ ÀÔÃâ·ÂÀ» ¸ÂÃß¾î ÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ¿ì¸®´«À¸·Î º¸°í ½ÇÁ¦·Î ó¸®Çϱâ À§Çؼ­ ÇÊ¿äÇÑ º¯È¯ ¸ðµâÀ» ¸ð¾Æ³õÀº °ÍÀÌ ÄÚµ¦ÀÔ´Ï´Ù. ±×¸®ÇÏ¿© °¢°¢ÀÇ Ã¢Àº ¼­·Î ´Ù¸¥ ¾ð¾î·Î Ç¥½ÃµÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¸é »ç¶÷ÀÌ Á÷Á¢ ÃÄ´Ù º¸´Â Äڵ尡 ¾î¶² °ÍÀΰ¡¸¦ ÆÄÀ̽㿡 ¾Ë·ÁÁÖ´Â ¹æ½ÄÀÌ ÇÊ¿äÇѵ¥ À̰ÍÀÌ ¹Ù·Î ÄÚµåÀüȯ(encoding)À» ¼³Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. ÄÚµåÀüȯÀº µÎ°³°¡ ¾Æ´Ï¶ó ÇѰ³ÀÔ´Ï´Ù.

ÀÔÃâ·ÂÀÌ ´Ù¸¦ ¶§´Â ½ÇÁ¦·Î ÀڽŸ¸ÀÇ ÄÚµ¦À» ¸¸µé ¼öµµ Àִµ¥, mbcs·Î ÀԷ¹ްí utf·Î Ãâ·ÂÇÒ ¼ö ÀÖÀ¸¸ç ±× ¹Ý´ë·Îµµ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±×°ÍÀº Äڵ庯ȯÀÇ ¹®Á¦ÀÔ´Ï´Ù. »ç¶÷ÀÌ ÃÄ´Ùº¸°í ÀÖ´Â ±× È­¸é¿¡¼­ ÀÔ·ÂÇÒ ¶§ÀÇ Äڵ尡 Ãâ·ÂÇÒ ¶§ ´Ù¸¥ ÄÚµå·Î ³ª¿Â´Ù´Â °ÍÀº Àǹ̰¡ ¾ø½À´Ï´Ù. Ȥ½Ã µð¹ö±ëÀ̳ª ±â¼ú»óÀÇ ÀÌÀ¯·Î º¸´Â °ÍÀº ÀüÇô ³í¿ÜÀÇ ¹®Á¦ÀÔ´Ï´Ù. ÁøÂ¥·Î ÀÌ·¸°Ô µé¾î¿À´Â ÄÚµå¿Í Ãâ·ÂµÇ´Â Äڵ带 ´Ù¸£°Ô »ç¿ëÇØ º¸°í ½ÍÀ¸½Ã¸é Àڽø¸ÀÇ ±âº»ÄÚµåÀüȯ ÄÚµ¦À» ¸¸µé¾î º¸¼¼¿ä encoding µð·ºÅ丮ÀÇ mbcs, ¶Ç´Â utf¸¦ ²¨³» decode¿Í encode¸¦ ¿øÇϽô ´ë·Î ÀÛ¼ºÇØ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.

³»°¡ º¸´Â ÄÚµå¿Í Ãâ·ÂµÇ´Â Äڵ尡 ÀÏÄ¡ÇÏ´Â°Ô Á¤»óÀε¥ À̰ÍÀÌ ¹Ù·Î encodingÀ̶ó´Â ÇϳªÀÇ °ªÀÔ´Ï´Ù. Ȥ½Ã ÆÄÀÏÀÌ »ç¶÷ÀÌ º¸´Â âÀ» ´ë½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÐ¾î µéÀÏ ¶§ utf·Î Àо Ãâ·ÂÇÒ ¶§ mbcs·Î Ãâ·ÂÇÒ ÆÄÀÏÀ̶ó¸é ÄÚµåÀüȯ(encode)À̶ó´Â ´Ü¾î°¡ ¾Æ´Ï¶ó Äڵ庯ȯ(convert)À̶ó´Â ´Ü¾î¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

¿î¿µÃ¼Á¦ÀÇ ÄÚµå±îÁö °í·ÁÇÏ¸é ³Ê¹« º¹ÀâÇϹǷΠ°£´ÜÇÏ°Ô ´ÙÀ½°ú °°ÀÌ »ý°¢ÇØ º¸¾Ò½À´Ï´Ù. Àý´ë·Î È¥µ¿ÇÏÁö ¸»¾Æ¾ß ÇÒ °ÍÀº ±âº»ÄÚµåÀÇ À̸§°ú ÄÚµåÀüȯÀÇ À̸§ÀÌ °°´Ù´Â °ÍÀÔ´Ï´Ù. °ýÈ£»çÀÌÀÇ mbcs¿Í utf-8Àº ÄÚµåÀüȯÀÔ´Ï´Ù. ÄÚµåÀüȯÀ» ¾îµð¿¡ ¸ÂÃß¾î¾ß ÇÏ´ÂÁö ¾Æ·¡ ±×¸²À» º¸½Ã¸é ¾Æ½Ç ¼ö Àִµ¥.... ²À Âó¾î ÁöÀûÇÏÀÚ¸é ÀÚ½ÅÀÌ ÃÄ´Ùº¼ âÀÇ ÄÚµå¿Í ÀÏÄ¡½ÃÄÑ¾ß ÇÕ´Ï´Ù. ¾ÆÁÖ ´Ù¾çÇÏ°Ô ½º½º·Î ¸¸µé¾î¼­ »ç¿ëÇÏÁö ¾ÊÀ» °ÍÀ̶ó¸é ½ÇÁ¦·Î ¹ü¿ëÀ¸·Î »ç¿ëµÇ¾î¾ß ÇÒ Ã¢Àº À©µµ¿ì¿¡¼­´Â mbcs ¸®´ª½º¿¡¼­´Â utf°¡ ÃÖ»óÀÌ ¾Æ´Ò±î ÃßÃøÇϰí ÀÖ½À´Ï´Ù.

                                               encode--->  <---encode
                     ¸í·É¾î ¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍ ...(mbcs)...ÆÄÀ̽ãÇÙ½É...(utf-8)...IDLE
Å͹̳¯ÀÇ ±âº»ÄÚµå            mbcs                         ucs-2                utf-8
                                               <---decode  decode--->

À©µµ¿ì¿¡¼­ ´ëÇ¥ÀûÀÎ µÎ °³¸¦ µé¾î º¾´Ï´Ù. °¢ âÀº ÀڽŸ¸ÀÇ ÀÔÃâ·Â Äڵ带 °¡Áö´Â âÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù. ±×·¯ÇÑ Ã¢µéÁß ´ëÇ¥ÀûÀΠâ µÑÀ» µéÀÚ¸é tty¸¦ Èä³» ³»°í ÀÖ´Â ¸í·É¾î ¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍ¿Í IDLEÀÔ´Ï´Ù. ¸í·É¾î ¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍ´Â È®½ÇÈ÷ mbcs¸¦ ´Ù·ç´Â ttyÀ̰í IDLEÀº ºñ·Ï ±¸ÀÌ È¯°æÀÌÁö¸¸ tty¸¦ Èä³» ³»°í Àִµ¥, utf·Î ÀÔÃâ·ÂµÇ´Â âÀÔ´Ï´Ù. À©µµ¿ì¿¡¼­( Èûµé¿©¼­ º¯È¯ÇÏ´Â ¼ö°í ¾øÀÌ) Á¤È®È÷ ÀÔÃâ·ÂµÇ°í ¹®ÀÚ¿­ 󸮰¡ °¡´ÉÇÏ·Á¸é ¸í·É¾î ¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍ´Â mbcs·Î IDLE´Â utf·Î ÄÚµåÀüȯÀ» ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. ½ÇÁ¦·Î ±×°ÍÀÌ Æ²¸± ¶§ ³ª¿À´Â »óȲ¿¡ ´ëÇØ¼­´Â ÇØÅ· ¼½¼Ç¿¡¼­ ´Ù·ç¾î º¾´Ï´Ù.

ÄÚµ¦ÀÇ ¿ëµµ

¾ÆÁ÷ À¯´ÏÄÚµå·Î ÅëÀÏ µÇÁö ¾ÊÀº ÀÌ ¼¼°è¿¡´Â ¼ö¸¹Àº ÄÚµå ü°è°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÄÚµå ü°è¸¦ ÆÄÀ̽ãÀÇ Çٽɿ¡¼­ ´Ù·ç°íÀÚ ÇÏ´Â ½Ãµµ°¡ ÄÚµ¦ÀÔ´Ï´Ù. ÄÚµåÀüȯÀº encoding="ÄÚµåÀüȯ"ÀÇ ÇüÅ·Πsite.py, sitecustomize.py¿¡ µé¾î ÀÖ½À´Ï´Ù. À̰ÍÀ» ±âº»ÄÚµåÀüȯÀ̶ó°í Çϴµ¥ À§ÀÇ ¸Þ½îµå³ª ÇÔ¼öÀÇ 'ÄÚµåÀüȯ' ºÎºÐÀÌ »ý·«µÇ¸é ±âº»À¸·Î µé¾î°¡´Â °ªÀÔ´Ï´Ù. ¸¸¾à sitecustomize.py °¡ Á¸ÀçÇÑ´Ù¸é site.pyÀÇ ÄÚµå ÀüȯÀ» µ¤¾î¾²´Â °í·Î sitecustomize.py°¡ ¿ì¼±ÇÕ´Ï´Ù. Ȥ½Ã site.py¿¡¼­ ÄÚµåÀüȯÀ» °íÃĵµ Â÷À̰¡ ³ªÁö ¾Ê´Â ´Ù¸é sitecustomize.py°¡ ÀÖ´ÂÁö »ìÆì º¸¼Å¾ß ÇÕ´Ï´Ù. ÄÚµåÀüȯÀ̶ó¸é ¾î¶²Äڵ忡¼­ ¾î¶²ÄÚµå·Î º¯È¯ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇϴµ¥, ±×·³ ±×°ÍÀÌ ¹«¾ùÀÌ³Ä ¿ä¾àÇØ¼­ ¼³¸íÇϸé Å͹̳¯ÀÇ ¹®ÀÚ¿­ ¿¡¼­ ÆÄÀ̽㠳»ºÎÀÇ ¹®ÀÚ¿­(ucs-2)·Î ÄÚµåÀüȯ ȤÀº ±× ¹Ý´ë·Î ÄÚµåÇØ¼®ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ÀÏ´ëÀÏ º¯È¯ÀÇ ´ë»ó¿¡¼­ Çϳª´Â ¹Ýµå½Ã ÆÄÀ̽ãÇÙ½ÉÀÇ ucs-2ÀÔ´Ï´Ù. ´ÙÀÚ°£ º¯È¯Àº ºÒ°¡ÇÕ´Ï´Ù (ºÒ°¡´ÉÇÏ´Ù´Â ¶æÀÌ ¾Æ´Õ´Ï´Ù. °ú¿¬ ºÒ°¡´É ÇÑÁöÀÇ ¿©ºÎ´Â º»Àεµ ¸ð¸¨´Ï´Ù).

ÁÖ¿î Á¤º¸: sitecusotomize.py ÀÇ Á¸Àç ÀÌÀ¯ - ÀÚ½ÅÀÇ ÇÁ·Î±×·¡¹Ö ȯ°æÀ» Àç´ÜÇÏ´Â ¿ëµµÀÔ´Ï´Ù. ±× Áß¿¡ Çϳª°¡ encoding°ªÀ» ¹Ù²Ù´Â °ÍÀÌ°í ¿©±â¿¡´Ù ÀÚ½ÅÀÌ ¿øÇÏ´Â °ÍÀ» ÁöÁ¤ÇØ ³õÀ¸¸é ÀÚµ¿À¸·Î ¼öÀԵ˴ϴÙ. ¾îÂ¸é, µµ½ºÀÇ config.sys ¶Ç´Â auteoexec.bat ¿ëµµ°¡ ¾Æ´Ñ°¡ »ý°¢ÇÕ´Ï´Ù. ±×·¸Áö¸¸ ·ÎÄÉÀϱîÁö °í·ÁÇÒ ºÐÀº ÁÖÀÇÇÏ¼Å¾ß Çϴµ¥, ·ÎÄÉÀÏ ¼³Á¤Àº site.py¿¡¼­ ÀÚµ¿À¸·Î ¼³Á¤µÇ±â ¶§¹®ÀÔ´Ï´Ù.

¸í·É¾î¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍÀÇ °æ¿ì¿¡´Â ÀÔ·ÂÀº mbcs¿¡¼­ ucs-2·Î ÄÚµåÀüȯ(.encode())ÇÑ´Ù°í °¡Á¤Çϰí IDLEÀÇ °æ¿ì¿¡´Â utf¿¡¼­ ucs-2·Î ÄÚµåÀüȯ(.encode())ÇÑ´Ù°í °¡Á¤Çϰí ÀÖ½À´Ï´Ù. ¹°·Ð ¿î¿µÃ¼Á¦ÀÇ Äڵ嵵 »ý°¢ÇØ¾ß ÇÒÅÙµ¥ Àú ³ª¸§´ë·Î´Â ¿î¿µÃ¼Á¦ÀÇ ÄÚµå´Â ¹Ì°¡°ø »óÅ·ΠÆÄÀ̽㿡 ³Ñ°ÜÁø´Ù°í °¡Á¤ÇÏ°í ¹«½ÃÇÕ´Ï´Ù. À̰ͱîÁö °í·ÁÇÏ·Á´Ï ³Ê¹« ÀÌ·ÐÀÌ º¹ÀâÇØÁ®¼­ ÀÌ ±ÛÀÌ Á» Á¤·ÃÀ» °Þ°í ³ª¸é ±× ¶§ µµÀÔÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¹°·Ð ¿ªÀÇ °æ¿ì¿¡´Â ÄÚµåÇØ¼®(.decode())À» »ç¿ëÇÕ´Ï´Ù. À̰ÍÀº ÆÄÀ̽㠳»ºÎ¿¡¼­ ÀÚµ¿ÀûÀ¸·Î ÀÌ·ç¾îÁö°í ÀÖÀ¸¹Ç·Î »ç¿ëÀÚ°¡ ÀÓÀÇ·Î .encode()¸¦ »ç¿ëÇÑ´Ù¸é ÀÚ½ÅÀÇ Ã¥ÀÓÇÏ¿¡, ½º½º·Î ÀÌÇØÇÏ°í¼­ »ç¿ëÇÏÁö ¾ÊÀ¸¸é ¿¹»óÄ¡ ¸øÇÑ ÇàÀ§¿¡ ºÀÂøÇÏ°Ô µÇ´Âµ¥, º¸Åë »ç¿ëÀÚ´Â .encode("utf8")À» »ç¿ëÇÒ ¶§ ÀÌ Äڵ尡 utf-8 ÀÌ µÈ´Ù°í »ý°¢ÇÕ´Ï´Ù. ±×·¸Áö¸¸ ÀÌ·± ´Ü¼øÇÑ »ý°¢ÀÇ µÚ¿¡´Â ¸ÍÁ¡ÀÌ ¼û¾î Àִµ¥ µé¾î¿Â Äڵ忡 ´ëÇÑ °¡Á¤ÀÌ ÀüÇô ¾ø½À´Ï´Ù. ¿©±â¿¡¼­ Á¦´ë·Î 󸮵Ǵ ÀÌÀ¯´Â ³»ºÎÀûÀ¸·Î ÆÄÀ̽ãÀÌ ¸ÕÀú "±âº»ÄÚµåÀüȯ¿¡ÇØ´çÇϴ¹®ÀÚ¿­".encode(±âº»ÄÚµåÀüȯ)À¸·Î ÀÌ¹Ì Çѹø º¯È¯À» °ÅÃÆ±â ¶§¹®ÀÔ´Ï´Ù. ¸¸¾à ÆÄÀ̽㠳»ºÎ¿¡¼­ ÀÚµ¿ÀûÀ¸·Î ¼öÇàµÇ´Â ÄÚµåÀüȯ¿¡¼­ µé¾î¿À´Â Äڵ带 Á¤È®ÇÏ°Ô ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é .encode("utf")Àº ÀüÇô ¿ì¸®°¡ ¿øÇÏ´Â ¹®ÀÚ¿­ÀÌ µÇÁö ¾Ê½À´Ï´Ù. À̰ÍÀº unicode()·Î ¦Áþ±âÇØ ÁøÂ¥ À¯´ÏÄÚµå·Î º¯È¯µÈ °Í°ú´Â ÀüÇô ´Ù¸¥ ¸ÞÄ«´ÏÁòÀÔ´Ï´Ù. ¾ÆÁÖ Á¤È®ÇÏ°Ô Á¤ÀÇÇÏÀÚ¸é µé¾î¿Â Äڵ尡 encodingÄÚµåÀÌ´Ï ÆÄÀ̽㿡 encodingÀ̶ó´Â ۸¦ ÀÌ¿ëÇÏ¿© ucs-2·Î ÀüÈ¯ÇØ ³Ö¾î¶ó ÇÏ´Â ¶æÀÔ´Ï´Ù. ÆÄÀ̽ãÀÌ ±âº»ÄÚµåÀüȯÀ¸·Î Á¤È®ÇÏ°Ô ÄÚµåÀüȯÇÏ°í ³ª±â¸¸ Çϸé ÁøÂ¥·Î ÄÚµå º¯È¯°°ÀÌ »ç¿ëÇÒ ¼ö°¡ À־, utf·Î mbcs·Î ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù. ¶È °°Àº ŰÀ̱⸸ Çϸé (Áï mbcs, utfµîµî) »ó°ü ¾øÀÌ ±×´ë·Î ÄÚµåÇØ¼® µË´Ï´Ù. ÀÌ ¸ðµç °úÁ¤À» ÀÚµ¿ÀûÀ¸·Î ÇØ ÁÖ´Â °ÍÀÌ ÄÚµ¦ÀÌ ÇÏ´Â ÀÏÀ̶ó´Â °ÍÀÔ´Ï´Ù. ÀÌ °úÁ¤¿¡ ¶Ù¾îµé¾î °£¼·ÇÏ´Â °ÍÀº ÀüÀûÀ¸·Î Àü¹® ÇÁ·Î±×·¡¸ÓÀÇ Ã¥ÀÓÀÌ µÉ °ÍÀÔ´Ï´Ù. - Ãʺ¸µéµµ ¸¶±¸ ¶Ù¾î µé°í ÀÖ½À´Ï´Ù. ±×·¡¼­ ºÀÂøÇÏ´Â ¹®Á¦µé¿¡ ÁÂÀýÇÏ°í ÆÄÀ̽ãÀÇ À¯´ÏÄÚµå ±â´É Áö¿ø ¹Ìºñ¸¦ Å¿Çϰí ÀÖ½À´Ï´Ù.

ÇÑ±Û ÄÚµ¦ÀÇ À§Ä¡

ÀÌ»óÀÇ ¼³¸íÀ¸·Î º¸¸é ÇÑ±Û ÄÚµ¦ÀÌ euc-krÄڵ带 ¾²´Â Å͹̳¯(ÆÄÀϵµ ¸¶Âù°¡Áö)À» À§ÇÑ °ÍÀÓÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. euc-krÆÄÀÏÀ» ½ÇÇà½ÃŰ·Á¸é ´ç¿¬È÷ euc-krÀ» ¾²´Â °Ì´Ï´Ù. ±×·¯³ª euc-krÀÌ Áß½ÉÀº ¾Æ´Õ´Ï´Ù. Áß½ÉÀº utf-8¿¡ ÀÖ½À´Ï´Ù. µû¶ó¼­ ÇѱÛÄÚµ¦Àº Çʼö»çÇ×ÀÌ ¾Æ´Ï¶ó ¼±ÅûçÇ×ÀÔ´Ï´Ù. À̰ÍÀÌ Çʼö »çÇ×À̶ó°í ¹Ï°í ¸í·É¾î ¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍ¿¡¼­ ±âº»ÄÚµåÀüȯÀ» euc-kr¿¡ ¼³Á¤ÇÑ »ç¶÷Àº ÀÚ½ÅÀÇ ¼³Á¤À» Ç×»ó ±â¾ïÇϰí utf-8ÆÄÀÏÀ» ´Ù·ç¾î¾ß ÇÕ´Ï´Ù. ±×¸®°í ÀÌ ÄÚµ¦Àº ÀÌ¹Ì ¸¸µé¾îÁø euc-krÆÄÀÏÀ» À§ÇÑ °ÍÀ̾î¾ß Çϸç, ¾ÕÀ¸·Î ¸¸µé¾îÁú euc-krÆÄÀÏÀ» À§ÇÑ °ÍÀÌ µÇ¸é ¾ÈµË´Ï´Ù. Áï euc-kr·Î ÆÄÀÏÀ» ¸¸µé¸é ½º½º·Î¸¦ Çѱ¹ÀÇ Å׵θ®¿¡ ¹­´Â°ÍÀÌ µÇ¸ç °ú°Å¿¡ ¾ÈÁÖÇÏ´Â °ÍÀÌ µË´Ï´Ù. utf°¡ žçÀ̰í, mbcs°¡ Áö±¸¶ó¸é, euc-krÀº ´ÞÀÔ´Ï´Ù. Áö±¸¿¡¼­ ´ÞÀ» ¹Ù¶ó º¼¼ö ÀÖ´Ù¸é ž翡¼­ Áö±¸¸¦ ¹Ù¶ó º¼ ¼öµµ ÀÖ½À´Ï´Ù. ÇѱÛÄÚµ¦À» ¾²±â À§Çؼ­ euc-krÀ» °íÁýÇÑ´Ù¸é ±¸À̸¦ ¾²±â À§Çؼ­ utf-8À» °íÁýÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¿ÀÈ÷·Á ÇѱÛÀÌ µÈ´Ù¸é utf-8ÀÌ µÇ¾î¾ß ÇÕ´Ï´Ù. Ç¥ÁØÀº °ú°Å¸¦ À§Çؼ­ °áÁ¤µÇ´Â °ÍÀÌ ¾Æ´Ï¶ó ¹Ì·¡¸¦ À§ÇÏ¿© ÀÖ´Â °ÍÀÔ´Ï´Ù.

±âº»ÄÚµåÀüȯ(default encoding)À» Å͹̳¯ÀÇ Äڵ忡 ÀÏÄ¡½ÃÄÑ¾ß ÇÏ´Â ÀÌÀ¯

ÀÌ °¡Á¤¿¡´Â, º¸½Ã´Â È­¸é(â, Å͹̳¯, ÆÄÀÏ)ÀÌ µ¿ÀÏÇÑ ÄÚµå·Î ÀÔÃâ·ÂÀÌ µÈ´Ù´Â °ÍÀ» ÀüÁ¦·Î Çϰí ÀÖ½À´Ï´Ù. ±×·¡¼­ ¾î¶² ÄÚµåÀüȯÀ» »ç¿ëÇϵç .encode()¿Í .decode()ÀÇ ÄÚµåÀüȯÀÌ ÀÏÄ¡ÇÏ¸é ±×´ë·Î Å͹̳¯¿¡ ÀÔ·ÂµÈ ±×´ë·Î ´Ù½Ã Ãâ·ÂµË´Ï´Ù. ±×·±µ¥ Å͹̳¯ °ª°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â ÄÚµåÀüȯÀº ÇѱÛ󸮸¦ À§ÇØ, Áï ±æÀÌ °è»êÀ» À§ÇØ unicode()·Î ¹®ÀÚ¿­À» º¯È¯ÇÏ¸é ¿¹»óÄ¡ ¸øÇÑ °á°ú°¡ ³ª¿É´Ï´Ù. Å͹̳¯ÀÇ ÄÚµå´Â »ç¶÷ÀÇ ÀÌÇØÇÏ´Â ÄÚµåÀÌ°í ±× Äڵ带 ÄÄÇ»ÅÍ´Â ¾î¶² ÄÚµåÀÎÁö ÀÌÇØÇÏÁö ¸øÇÕ´Ï´Ù. ¾î¶² ¶§´Â º¯È¯ÀÚü°¡ ¾ÈµÉ ¶§°¡ ÀÖ°í º¯È¯Àº Àß µÇ¾îµµ ±æÀ̻Ӹ¸ ¾Æ´Ï¶ó Ãâ·ÂµÇ´Â ¹®ÀÚ¿­µµ ¿¹»ó°ú´Â Ʋ¸° °æ¿ì°¡ ¹ß»ýÇÕ´Ï´Ù. ÃÖÃÊ·Î µé¾î¿À´Â °ª¿¡ ´ëÇÏ¿© .encode()´Â Äڵ带 ±âº»ÄÚµåÀüȯÀ̶ó´Â Ű·Î ÆÄÀ̽㠳»ºÎÀÇ usc-2·Î ÄÚµåÀüȯÇÑ °ÍÀ̰í (´ç¿¬È÷ ÄÚµåÇØ¼® decode()ÇØ¼­ º¸¾Æ¾ßÇÏ´Â °ÍÀÌÁö .encode()·Î º¸´Â °ÍÀº °¡´ÉÇÏ´Ù°í ÇÒÁö¶óµµ À¯´ÏÄÚµå ÀÔÃâ·ÂÀÇ ¸ÞÄ«´ÏÁò¿¡ À§¹è µË´Ï´Ù.) ±âº»ÄÚµåÀüȯÀÌ ÃÖÃÊÀÇ ÀÔ·Â Äڵ带 Á¦´ë·Î ÁöÁ¤ÇÏÁö ¾Ê°í ÀÖ´Ù¸é ´Ù½Ã ²¨³» º¸´Âµ¥´Â ¸·´ëÇÑ ¼ö°í¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. unicode()´Â ±âº»ÄÚµåÀüȯ¿¡ ¸ÂÃß¾î ½ÇÁ¦ À¯´ÏÄڵ忡 ¦Áþ±âÇØ¼­ ³ÖÀº °ªÀÔ´Ï´Ù. ±×·¡¼­ À¯´ÏÄÚµå·Î ¦Áþ±â µÈ °ªÀº u"½ÇÁ¦À¯´ÏÄÚµå(ucs-2)"·Î ´Ù¸£°Ô ÀúÀåµÇ¾î ÀÖ½À´Ï´Ù. ¸¸¾à ¿©±â¿¡¼­ a=u"mbcs¹®ÀÚ¿­"À̶ó´Â ¼­¼ú¹®À¸·Î a°¡ À¯´ÏÄڵ尡 µÇ¾î Áֱ⸦ ±â´ëÇÏ´Â °ÍÀº ÀÔÃâ·Â ¸ÞÄ«´ÏÁòÀ» ÀÌÇØÇÏÁö ¸øÇÏ´Â µ¥¼­ ¿À´Â À߸øµÈ ¿ä±¸¶ó´Â °ÍÀÔ´Ï´Ù. ÀÌ ¼­¼ú¹®ÀÇ Àǹ̴ a=unicode("mbcs¹®ÀÚ¿­", "unicode_escape")¿Í °°½À´Ï´Ù. ±×·¯¹Ç·Î ´«À¸·Î ÀÌÇØ ÇÒ ¼ö ¾ø´Â ±ÛÀÚ°¡ µÇ¾î ¹ö¸³´Ï´Ù. ÀÌ·²¶§´Â unicode("mbcs¹®ÀÚ¿­", "mbcs")¶ó°í ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇØ ³Ö¾î ÁÖ¾î¾ß ´«À¸·Î ÇØ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î ¸¸¾à u""¸¦ »ç¿ëÇØ º¸°í ½ÍÀ¸¸é ±âº»ÄÚµåÀüȯÀ» unicode_escape·Î ³õÀ¸½Ã¸é ÀÔ·ÂÀÌ µË´Ï´Ù. ¹®Á¦´Â unicode_escape¸¦ Áö¿øÇÏ´Â Å͹̳¯ÀÌ ¾ø´Ù´Â °ÍÀε¥ Áö±Ý±îÁöÀÇ IDLE ÆÐÄ¡ ¹æ¹ý´öºÐ¿¡ ÇØ°á¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ´Ü ÀÌ·¯ÇÑ Ç¥ÇöÀÌ ÇÊ¿äÇÑ °ÍÀÎÁö´Â Àǹ®ÀÔ´Ï´Ù.

±×·¡¼­ °¢°¢ÀÇ °æ¿ì¿¡ Á¦´ë·Î µÈ °ªÀ» ¾òÀ¸·Á¸é »ý·«µÈ "ÄÚµåÀüȯ"À» ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. Áï »ç¶÷ÀÌ º¸´Â È­¸éÀÇ Äڵ忡 ÀÏÄ¡½ÃŰÁö ¾Ê´Â´Ù¸é ¿øÇÏ´Â °ªÀ» ¾ò±â À§ÇØ ºÒÇÊ¿äÇÑ ¼ö°í¸¦ ÇØ¾ß ÇÑ´Ù´Â ¶æÀÔ´Ï´Ù.

Å͹̳¯Àº mbcsÀ̰í ÀԷµǴ ÆÄÀÏÀº utf ±×¸®°í ±âº» ÄÚµåÀüȯÀº unicode_escape¶ó¸é È¥¶õÀÇ ±Ø¿¡ ´ÞÇÕ´Ï´Ù. ÀÌ·± Á¶ÇÕÀº ±Ùº»ÀûÀ¸·Î ÄÚµ¦ÀÇ ´É·ÂÀ» ³²¿ëÇÑ °ÍÀ̶ó ÆÇ´ÜÇÕ´Ï´Ù. ³»ºÎÀûÀ¸·Î ¾î¶»°Ô º¯È¯ÇØ¾ß ¿øÇÏ´Â °ªÀ» ¾òÀ» Áö´Â ¸Ó¸®°¡ º¹ÀâÇØ »ý·«ÇÏ°í ½ÍÁö¸¸ °£·«ÇÏ°Ô »ìÆìº¸°Ú½À´Ï´Ù.

ÄÚµåÀüȯÀÏÄ¡ÀÇ ¹®Á¦ ÇØÅ·

Áö±ÝºÎÅÍ´Â ÇØÅ·¼öÁØÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÄÚµù¹æ¹ýÀº Àý´ë·Î ±ÇÀåµÇÁö ¾Ê½À´Ï´Ù.

mbcsÀΰ¡ utfÀΰ¡

encodingÀº ÇϳªÀÌ¸ç °°Àº Ű·Î ÄÚµåÀüȯ, ÄÚµåÇØ¼®À» ÇÏ´Â °ÍÀ̶ó°í °¡Á¤ÇÏ¿´´Âµ¥, ½ÇÁ¦·Î ÀԷ°ú Ãâ·ÂÀÌ ´Ù¸¥ Äڵ尡 ÇÑ È­¸é¿¡¼­ »ç¿ëµÇ°í ÀÖÀ» °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ ¹®Á¦´Â ³Ê¹« º¹ÀâÇÑ ¹®Á¦ÀÔ´Ï´Ù. ±×·¡¼­ ´Ü µÎ°³ÀÇ ´ëÇ¥ÀûÀÎ ÄÚµåÀüȯÀ» °¡Áö°í À§ÀÇ ÀÌ·ÐÀ» Á» ´õ ¿¬±¸ÇØ º¾´Ï´Ù. mbcs´Â À©µµ¿ì¸¦ ¾²´Â ÇÑ °ÅºÎÇÒ ¼ö ¾ø´Â ¼±ÅÃÀ̰í utf´Â ±¸À̵éÀÇ ´ëºÎºÐÀÌ utf-8·Î ó¸®Çϱ⠶§¹®¿¡ ¼±ÅÃÇÏ¿´½À´Ï´Ù. Áï À©µµ¿ì¿¡¼­ ±¸À̸¦ »ç¿ëÇÏ·Á¸é ÇÊ¿¬ÀûÀ¸·Î mbcs¿Í utf¿¡ ¸¶ÁÖÄ¡Áö ¾ÊÀ» ¼ö ¾ø½À´Ï´Ù. ¶Ç »õ·Î³ª¿À´Â ÆÄÀ̽㠶óÀ̺귯¸®µéÀº utf-8À» ¿¹»óÇÏ°í ¸¸µé¾îÁö°í ÀÖ½À´Ï´Ù.

1. ¸í·É¾î ¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍ¿Í IDLE

¸í·É¾î ÀÎÅÍÇÁ¸®ÅÍÀÇ encodingÀ» utf·Î ³õ¾Æ º¸°í ½ÇÇàÇØ º¸½Ã¸é ÀÔÃâ·ÂÀº ÀÌ»óÀÌ ¾øÀ¾´Ï´Ù. ÀÔ·ÂµÈ ±×´ë·Î Ãâ·ÂµË´Ï´Ù. ±×·¯³ª unicode()ÇØ º¸¸é À¯´ÏÄÚµå ¿¡·¯¿¡ ºÀÂøÇÕ´Ï´Ù. ¾î¶² ¿¡·¯Àΰí ÇÏ´Ï mbcs·Î µé¾î¿Â ¹®ÀÚ¿­À» (»ç¶÷¸¸ ÀÌ ÄÚµåÀÎÁÙ ¾Ë°í ÆÄÀ̽ãÀº utf-8·Î º¸°í ÀÖÀ¸¹Ç·Î) À¯´ÏÄÚµå ¿µ¿ª¿¡ ¦Áþ±â¿¡ ½ÇÆÐ ÇÕ´Ï´Ù. Ȥ½Ã¶óµµ Äڵ念¿ªÀÌ Ãæµ¹ÇÏÁö ¾Ê´Â´Ù¸é ±«ÀÌÇÑ ±ÛÀÚ·Î ÀÔ·ÂµÉ ¼öµµ ÀÖÁö¸¸ ±× ¶§ÀÇ len()ÇÔ¼öÀÇ °á°ú°ªÀº º¸Àå¹ÞÀ» ¼ö ¾ø½À´Ï´Ù.

ÀÌ·± »óȲÀ̶ó¸é ±×·³ ¾î¶»°Ô ÀÔ·ÂÇϰí Ãâ·ÂÇϰí ó¸®ÇÒ ¼ö Àִ°¡? unicode(¹®ÀÚ¿­, "ÄÚµåÀüȯ")¿¡¼­ »ý·«µÇ¾ú´ø ÄÚµåÀüȯ(utf-8)À» ¸í½ÃÀûÀ¸·Î mbcs¶ó°í ÁöÁ¤ÇØÁÖ¸é »ç¶÷ÀÌ º¼¼ö ÀÖ´Â À¯´ÏÄÚµå ¹®ÀÚ·Î Á¤È®ÇÏ°Ô Â¦Áþ±â µË´Ï´Ù. ±×¸®°í Ãâ·ÂÇÒ ¶§´Â ¸í½ÃÀûÀ¸·Î ¹®ÀÚ¿­.encode("ÄÚµåÀüȯ")¿¡¼­ ÄÚµåÀüȯÀ» ¹Ýµå½Ã ¸í½ÃÀûÀ¸·Î "mbcs"¶ó°í ÁöÁ¤ÇØÁÖ¾î¾ß ºñ·Î¼­ ¿ì¸®°¡ ¾Ë¼ö ÀÖ´Â ¹®ÀÚ·Î Ãâ·ÂÀÌ °¡´ÉÇØÁý´Ï´Ù.

°á·ÐÀ» À̾߱â ÇÏÀÚ¸é ±âº»ÄÚµåÀüȯÀ» À̸®Àú¸® ¹Ù²Ù´Â °ÍÀº ½±°Ô À̾߱â ÇØ¼­ Å͹̳¯À» À̸®Àú¸® ¹Ù²Ù´Â °Í°ú ¶È °°½À´Ï´Ù. ÀÚ½ÅÀÌ ÃÄ´Ù º¸°í ÀÖ´Â Å͹̳¯ÀÌ Ä«¸á·¹¿Âó·³ ½Ã½Ã°¢°¢ Äڵ带 ¹Ù²ÙÁö´Â ¾ÊÀ» °ÍÀÔ´Ï´Ù. Ưº°ÇÏ°Ô »õ·Î¿î ÀÔÃâ·Â Å͹̳¯À» Á¤ÀÇÇÒ °ÍÀ̶ó¸é ÄÚµ¦À» »ó¼Ó¹Þ¾Æ Àڽø¸ÀÇ Å͹̳¯À» ±¸¼ºÇÏ¿© »ç¿ëÇÏ¿©¾ß ÇÒ °ÍÀÔ´Ï´Ù(º»Àθ¸ÀÇ ÃßÃøÀÏ µû¸§ÀÌ´Ï È¤½Ã¶óµµ ÀÌ Á¤º¸¿¡ ¸Å´Þ¸®Áö ¸¶½Ã±æ ¹Ù¶ø´Ï´Ù).

IDLE¿¡¼­ ±âº»ÄÚµåÀüȯÀ» mbcs·Î ÇØ ³õ¾ÒÀ» °æ¿ì¿¡´Â Á» Ưº°ÇÏ°Ô ÀÛµ¿Çϴµ¥, ¸ÕÀú tkinter°¡ À©µµ¿ìÀÇ mbcs¸¦ "utf"·Î º¯È¯Çϰí ÀÌ·¸°Ô º¯È¯ÇÑ °ªÀ» IDLE¿¡ ³Ñ°Ü ÁØ´Ù°í »ý°¢Çϴµ¥, IDLEÀº ´ç¿¬È÷ µé¾î¿Â ÀԷ°ªÀ» "mbcsÄÚµåÀüȯµÈ¹®ÀÚ¿­".encode()·Î º¯È¯ÇÕ´Ï´Ù. ±âº»ÄÚµåÀüȯÀÌ "mbcs"Àΰí·Î ÀÌ·¸°Ô ÀüȯµÈ ÄÚµå´Â Ãâ·ÂÇØµµ ¾Ë¾Æ º¼ ¼ö ¾ø½À´Ï´Ù. Ãâ·ÂÀº utf-8·Î ÇÕ´Ï´Ù. ±×·¡¼­ À§ÀÇ À̷дë·Î ±âº»ÄÚµåÀüȯ¿¡ »ó°ü¾øÀÌ ÀÔÃâ·Â µÈ´Ù´Â ÀÌ·ÐÀº µé¾î ¸ÂÁö ¾Ê½À´Ï´Ù. ±×·¡¼­ ¾Æ¿¹ ´Ù¸¥ ÄÚµåÀüȯÀ¸·Î ¹Ù²Ù¾î¼­, ¿¹¸¦ µé¾î unicode_escape·Î ¹Ù²Ù¾î º¸¸é ±×¿¡ ¸Â°Ô unicode_escape·Î ÀúÀåÇϰí ÀÖ½À´Ï´Ù. Áï, ÀԷµǴ Å͹̳¯ÀÇ Äڵ带 ±âº»ÄÚµå ÀüȯÀ¸·Î ¹Þ¾Æµé¿© ÀúÀåÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ¹°·Ð Ãâ·ÂÀº ¿øÇÏ´Â ¹®ÀÚ°¡ ¾Æ´Õ´Ï´Ù.

Á׾ Ãâ·ÂÀ» ÇØ º¸·Á¸é print unicode("mbcsÄÚµåÀüȯµÈ¹®ÀÚ¿­").encode("utf")¸¦ ¼öÇàÇØ º¸½Ã¸é ÀÔ·ÂµÉ ¶§ÀÇ ¹®ÀÚ°¡ ´Ù½Ã ³ª¿É´Ï´Ù. ½ÇÁ¦·Î´Â ÆÐÄ¡¸¦ ÇØ¼­ ´«¿¡ º¸ÀÌ°Ô Ãâ·ÂÇÒ ¼öµµ ÀÖ°í ÀúÀåµÇ°Ôµµ ÇÒ ¼ö ÀÖÀ¸¸ç Á¦´ë·Î ó¸®µÇ°Ô ÇÒ ¼öµµ ÀÖÁö¸¸ IDLEÀÇ Àü ü°è¸¦ ÀÌÇØÇÏÁö ¸øÇÏ´Â °í·Î ¿ÀÈ÷·Á ¿ø·¡ ¿øÇß´ø À¯´ÏÄÚµå ÇÑ±Û Ã³¸®ÀÇ ¸ÞÄ«´ÏÁò¿¡ È¥µ¿À» ÁÝ´Ï´Ù. ½ÇÁ¦·Î mbcs¸¦ Áö¿øÇϵµ·Ï, ¶Ç´Â euc-krÀ» Áö¿øÇϵµ·Ï ÆÐÄ¡ÇØ¾ßÇÒ ÀÌÁ¡ÀÌ ¾ø´Ù°í Àú´Â º¸°í ÀÖ½À´Ï´Ù. Á¤ ¿øÇÑ´Ù¸é ÆÐÄ¡¸¦ ÅëÇØ¼­°¡ ¾Æ´Ï¶ó ¿øÇÏ´Â Å͹̳¯À» Èä³» ³»ÁÖ´Â ÇÁ·Î±×·¥À» Á÷Á¢ ±¸¼ºÇÏ´Â °ÍÀÌ ÈξÀ ÁÁÀ» °ÍÀÔ´Ï´Ù.

±×³É ÄÚµå Å×½ºÆ®¶ó¸é IDLE¿¡¼­´Â utf-8À϶§ °¡Àå Á¤È®ÇÏ°Ô tty¸¦ Èä³»³» ÁÝ´Ï´Ù. mbcs¸¦ ¾²°í ½ÍÀ¸½Ã¸é ÆÄÀ̽ã À©ÀÌ °¡Àå ÈǸ¢ÇÑ ÇØ°áÃ¥ÀÔ´Ï´Ù.

2. À¯´ÏÄÚµå ¹ÌÁö¿ø ÆíÁý±â(mbcs¸¸À¸·Î ÀÔÃâ·ÂÇÏ´Â ÆíÁý±â)

(tkinter, pyqtµµ ¸¶Âù°¡Áö¶ó°í Ãß·ÐÇϴ¹ÙÀε¥) pygtk ÇÁ·Î±×·¥À» ÄÚµùÇÒ ¶§ À©µµ¿ìÀÇ ÆíÁý±â°¡ mbcs¸¸À» Áö¿øÇÑ´Ù°í ÇսôÙ. ÀÌ ¿¹´Â ¿ÀÁ÷ ÄÚµåÀÇ ÀÌÇØ¸¦ µµ¿ï ¸ñÀûÀÌÁö Ãâ·Â¹æ¹ýÀ» ¿¬±¸Çغ¸°íÀÚ ÇÏ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù. ½ÇÁ¦·Î À̰ÍÀ» ½á¸Ô¾î¾ß ÇÑ´Ù¸é ¾ÆÁÖ Æ¯º°ÇÑ ÇÁ·Î±×·¡¹ÖÀ» Çϰí ÀÖ´Â °ÍÀÌ µË´Ï´Ù. pygtk¿¡ Ãâ·ÂÇÏ·Á¸é utf-8 Äڵ带 º¸³» ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¾îµð¿¡ ÄÚµå ÀüȯÀ» ¼³Á¤ÇÏ¿©¾ß ÇÏ´ÂÁö °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï±î? ¾Æ´Ï¸é ÄÚµåÀüȯ°ú °ü°è¾øÀÌ ¸í½ÃÀûÀ¸·Î ¿É¼ÇÀ» ¼³Á¤Çϸé ÇØ°áÇÒ ¹æ¹ýÀÌ ÀÖ½À´Ï±î? mbcsÀ̵ç utfÀ̵ç ÄÚµåÀüȯ°ú »ó°ü¾ø½À´Ï±î? ´Ü¼øÈ÷ Ç¥¸éÀûÀÎ Çö»ó¸¸ »ìÆì º¾´Ï´Ù. ÀÌ·¯ÇÑ ÇàŰ¡ ³ªÅ¸³ª´Â ÀÌÀ¯´Â º»ÀÎÀÇ ´É·Â ºÎÁ·À¸·Î ÀÚ¼¼ÇÏ°Ô ¼³¸íÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.

¿©±â¿¡¼­µµ ¾îÂ÷ÇÇ Ãâ·ÂÇÒ °Å¶ó¸é Ãâ·Â¿¡ ¸ÂÃß¾î encodingÀ» ¸ÂÃß¾î µÎ´Â °ÍÀÌ ´õ À¯¸®ÇÔÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÇÑ±Û Ã³¸®¸¦ À§ÇØ unicode()´Â Çʼö ºÒ°¡°áÇϱ⠶§¹®ÀÔ´Ï´Ù. Å×½ºÆ®´Â Äֿܼ¡¼­ ÇØ º¸µÇ, ¹«¾ùº¸´Ùµµ º»°ÝÀûÀ¸·Î ÇÁ·Î±×·¥À» Â¥·Á¸é À¯´ÏÄÚµå Áö¿ø ÆíÁý±â¸¦ »ç¿ëÇÏ´Â ÆíÀÌ °¡Àå È®½ÇÇÑ ¹æ¹ýÀÔ´Ï´Ù. ±×·¸°Ô µÇ¸é ÀÌ·± º¹ÀâÇÔµµ ¼ø½Ä°£¿¡ ÇØ°áµË´Ï´Ù. º»ÀÎÀÇ ÆÇ´ÜÀ¸·Î´Â À̰ÍÀÌ Á¤¼®À̶ó°í »ý°¢ÇÕ´Ï´Ù.

3. ±¸ÀÌÀÇ ¼±Åà ¹®Á¦

º»ÀÎÀÌ Ã³À½ ±¸ÀÌÀÇ ¼±Åà ¹®Á¦¿¡ °í¹ÎÇß´ø °ÍÀº ÇѱÛÄÚµå Ãâ·ÂÀÇ ¹®Á¦¿´½À´Ï´Ù. ±×·±µ¥ ÀÌ·¯ÇÑ ¸ÞÄ«´ÏÁòÀ» ÀÌÇØÇÏ°í ³ª´Ï ±¸ÀÌÀÇ ¼±ÅÃÁ¶°Ç¿¡¼­ ÇÑ±Û ±¸Çö ¹®Á¦´Â Àå¾Ö°¡ µÇÁö ¾Ê´Â °ÍÀ̾ú½À´Ï´Ù. È®½ÇÇÑ ¹æ¹ýÀº À¯´ÏÄÚµå Áö¿ø ÆíÁý±â¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» °¡Áø ÆíÁý±â´Â ½º½º·Î°¡ ÀÏÁ¾ÀÇ Å͹̳¯ÀÌ µÇ¾î ÁֹǷΠÃâ·ÂµÉ ±¸ÀÌÀÇ Äڵ忡 ¸ÂÃß¾î ÀúÀåÇϱ⸸ ÇÏ¸é µË´Ï´Ù. óÀ½¿¡ ¸Å·ÂÀ» °¡Á³´ø wxpythonÀÇ ¸Å·ÂÀÇ Çϳª(Æí¸®ÇÑ ÇѱÛÀÔÃâ·Â)´Â ±×·¡¼­ »ó½ÇÇÏ°Ô µÇ¾ú½À´Ï´Ù. ±¸ÀÌ ¼±Åÿ¡¼­ Çѱ۹®Á¦°¡ ºüÁö°í ³ª´Ï Á¤¸» ¹«¾ùÀ» ¼±ÅÃÇÒÁö ´Ù½Ã °í¹ÎÀÔ´Ï´Ù. tkinterµµ ±¦Âú°í pygtkµµ ¸ÚÀÖ½À´Ï´Ù. ¹°·Ð wxpythonµµ Á¤°¨ÀÌ °©´Ï´Ù.

À©µµ¿ì¿¡¼­ ó¸®Çϱ⿡´Â mbcs°¡ À¯¸®ÇÏ°í ³ª¿Í ÀÖ´Â °¢Á¾ ¶óÀ̺귯¸®µéÀº utf-8ÀÌ À¯¸®ÇÕ´Ï´Ù. ÄÚµåÀüȯÀº °íÁ¤½ÃÄÑ¾ß Çϰí ó¸®ÇؾßÇÒ ¹®¼­µé(°¢°¢ÀÇ Å͹̳¯)ÀÌ ´Ù °¢°¢ ´Ù¸¥ Äڵ带 »ç¿ëÇÑ´Ù¸é Á¤¸» ¾î¶»°Ô ó¸®ÇØ¾ß ÇÒÁö ³Ê¹« º¹ÀâÇÕ´Ï´Ù.

Àû¾îµµ ±×µ¿¾È °í¹ÎÇß´ø ±¸ÀÌ¿¡¼­ÀÇ ÇÑ±Û ÀÔÃâ·Â ¹®Á¦´Â ÇØ°áµÇ¾úÁö¸¸, ¿©ÀüÈ÷ mbcs¿Í utf»çÀÌÀÇ ¼±ÅÃÀÇ ±â·Î´Â Á¸ÀçÇϰí ÀÖ½À´Ï´Ù. Ç÷§Æû»çÀÌÀÇ È£È¯¼º ¹®Á¦°¡ °è¼ÓÇØ¼­ ¹®Á¦°¡ µÇ°í ÀÖ´Â °ÍÀÎÁöµµ ¸ð¸£°Ú½À´Ï´Ù.

±¸ÀÌÀÇ ¼±Åÿ¡´Â ¶óÀ̺귯¸®ÀÇ Áú, Áö¿øµÇ´Â ¹®¼­ÀÇ ¾ç°ú Áú, ¶óÀ̼¾½º ¹®Á¦µîÀÌ °í·ÁµÇ¾î¾ß ÇϰÚÁö¸¸ ÀÌ ±Û¿¡¼­ÀÇ ¸ñÀûÀº ¾Æ´Ï¹Ç·Î »ý·«ÇÕ´Ï´Ù. ¿©·ÂÀÌ µÈ´Ù¸é ¾î¶² ±¸À̸¦ ¼±ÅÃÇØ¾ß ÇÏ´ÂÁöµµ ¿¬±¸ÇØ º¸¾Æ¾ß ÇÒ °úÁ¦ÀÔ´Ï´Ù.

¾ÆÁ÷µµ ÇØ°áÇÏÁö ¸øÇÑ ¹®Á¦

Áö±ÝºÎÅÍ´Â ¹Ýµå½Ã ´Ù·ç¾î¾ßÇÒ ¹®Á¦À̳ª ´É·ÂºÎÁ·À¸·Î ´Ù·çÁö ¸øÇÏ´Â ºÎºÐµéÀÔ´Ï´Ù. ´É·ÂµÇ½Ã´Â ºÐµéÀÇ °ÇÅõ¸¦ ¿ä¸ÁÇÏ´Â ºÎºÐÀÔ´Ï´Ù.

1. ¿Ö ÄÚµåÀüȯ¿¡ unicode°¡ ¾ø´Â °ÍÀϱî?

ÀÌ·¸°Ô ÇØµµ ¾ÆÁ÷ ¸¸Á·ÀÌ µÇÁö ¾Ê´Â °ÍÀº ¿©ÀüÈ÷ unicodeÇÔ¼ö¸¦ ¾²Áö ¾ÊÀ» ¼ö ¾ø´Ù´Â °ÍÀÔ´Ï´Ù. ÆÄÀ̽㠳»ºÎÀûÀ¸·Î´Â È®½ÇÈ÷ À¯´ÏÄÚµå ¹®ÀÚ¸¦ ¾²°í ÀÖÀ½¿¡µµ ¿Ö ±»ÀÌ unicode()¸¦ »ç¿ëÇØ¾ß ÇÏ´Â °ÍÀϱî. ÆÄÀ̽ã ÀÎÅÍÇÁ¸®ÅÍÀÇ ¼±ÅûçÇ× Áß -U°¡ ÀÖ´Ù´Â °ÍÀ» ¾Æ½Ã¸é u"À¯´ÏÄÚµå"ÀÇ ÇüŸ¦ ±×³É ÀúÀåÇÒ ¼ö ÀÖÀ¸¹Ç·Î unicode¸¦ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖÀ»ÅÙµ¥ ÇÏ´Â Àǹ®ÀÌ µì´Ï´Ù. Áï ¹ø°Å·Ó°Ô unicode()¸¦ »ç¿ëÇÏÁö ¾Ê¾Æµµ µÈ´Ù´Â °ÍÀε¥....

Áö±Ý±îÁöÀÇ À̷лóÀ¸·Î encoding¿¡ unicode°¡ ÀÖ¾î¾ß ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ±×³É ¾²¸é µÉ°ÍÀ» ±»ÀÌ encode(), decode()ÇÒ Çʿ䰡 ¾øÁö ¾Ê½À´Ï±î? ±×·¡µµ °£ÀýÈ÷ ¿øÇÏ´Â ¹Ù°¡ ÀÖ¾î lib/encoding µð·ºÅ丮¸¦ »ìÆì º¸´Ï unicode_escape, raw_unicode_escape°¡ Àִµ¥ ½ÇÁ¦·Î ¿ì¸®°¡ ±×·¸°Ô õÇÏ ÅëÀÏÀ» ¿øÇÏ´Â unicode¶ó´Â ÄÚµåÀüȯÀº ¿ª½Ã ¾ø½À´Ï´Ù. ±×³ª¸¶ ºñ½ÁÇÏ°Ô ÀÖ´Â °ÍÀº ³¡¿¡ _escape¸¦ ´Þ°í Àִµ¥ ±×°ÍÀ» º¸´Ï ÇØ´äÀÌ »ý°¢³µ½À´Ï´Ù. ÀÌÀ¯´Â ¿ì¸®ÀÇ Å͹̳¯ÀÌ ¾ÆÁ÷±îÁö À¯´ÏÄÚµå Å͹̳¯ÀÌ ¾Æ´Ï´Ù¶ó´Â µ¥ ÀÖ½À´Ï´Ù. À¯´ÏÄÚµå (ucs-2)´Â ¾Æ½ºÅ°¿Í Ãæµ¹ÇÕ´Ï´Ù. ¾Æ½ºÅ°¸¦ ÇÇÇØ¼­ ¸¸µé¾îÁø Äڵ尡 ¾Æ´Ï¹Ç·Î ¿ì¸®°¡ ÀÛ¼ºÇÏ´Â ÇÁ·Î±×·¡¹Ö ¼Ò½º´Â ¾ÈŸ±õ°Ôµµ À¯´ÏÄÚµå¿Í Ãæµ¹ÇÏ´Â ¹Ù ´ç¿¬È÷ ÀÎÅÍÇÁ¸®ÅͰ¡ ÇØ¼®ÇÒ ¼ö ¾ø½À´Ï´Ù. Áï ÇØ°á¹æ¹ýÀº À¯´ÏÄڵ忡 Å»Ãâ¹®ÀÚ¸¦ ºÙ¿©¼­ ÄÚµùÇÏ´Â ¹æ¹ýÀ̶ó´Â °ÍÀε¥ ½ÇÁ¦·Î ÀÌ·¸°Ô Áö¿øÇØÁÖ´Â ¿¡µðÅ͸¦ ¾ÆÁ÷ º¸Áö ¸øÇÏ¿´½À´Ï´Ù. À̰ÍÀº ´Ü¼øÈ÷ Äڵ庯ȯ¸¸À¸·Î ÀúÀåµÉ ÆÄÀÏÀÌ ¾Æ´Ï¶ó À¯´ÏÄÚµå ¹®ÀÚ¿­¿¡ ÇØ´çÇÏ´Â ºÎºÐÀ» Çϳª¾¿ ÇØ¼®ÇÏ¿© Å»Ãâ¹®ÀÚ·Î ÄÚµùÇÏ¿© ÀúÀåÇÏ¿©¾ß ÇÏ´Â °ÍÀ̹ǷΠƯº°È÷ °í¾ÈµÇ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù.

a=u"ÇѱÛ" À̶ó´Â ¼­¼ú¹®À» ¼öÇàÇØ º¸°í ½Í¾î¼­ encoding=unicode_escape·Î Çϰí -U·Î Çϸé ÄÚµåÀüȯÀÌ Á׾ ascii·Î¸¸ ¼³Á¤µÇ°í ÀÖ½À´Ï´Ù. -v·Î »ìÆì º¸¸é ÀÌ»óÇϰԵµ import site ÀÚü¸¦ ÇÏÁö ¾Ê½À´Ï´Ù. Áï ÆÄÀ̽㿡¼­´Â -U¶ó´Â ¼±ÅûçÇ×ÀÌ ÁÖ¾îÁö¸é À¯´ÏÄÚµå Å͹̳¯°ú ÀÔÃâ·ÂÀ» ÇÏ´Â °ÍÀ¸·Î °¡Á¤Çϱ⠶§¹®¿¡ import site¸¦ ÇÏÁö ¾Ê´Â °ÍÀ̶ó°í »ý°¢µË´Ï´Ù. ±×·³¿¡µµ ºÒ±¸ÇÏ°í ¿©ÀüÈ÷ ³²´Â Àǹ® »çÇ×Àº ±âº» ÄÚµåÀüȯÀ» ÀÌ ¶§¿¡ ascii·Î Çϴ°¡ ÇÏ´Â °ÍÀÔ´Ï´Ù. À§ÀÇ À̷дë·Î¶ó¸é ¾ïÁö·Î À¯´ÏÄڵ带 Áý¾î ³Ö¾îµµ decode()¸¦ ¾î¶»°Ô Ç϶ó´Â °ÍÀÎÁö...¾ÆÁ÷µµ Àǹ®ÀÔ´Ï´Ù.

2. ¼Ò¼ÒÄڵ带 ÀÏÀÏÀÌ °íÃļ­ ÇѱÛÈ­ ÇØ¾ß Çϴ°¡?

³Ê¹«µµ ±â»Û ¸¶À½À¸·Î ÆÄÀ̽㠸ް¡ À§Á¬À» ¿¹Á¦Áß ÇϳªÀÎ baloon.py¿¡ ÀÖ´Â ¿µ¾î ¹®ÀÚ¿­À» Çѱ۷Π¹Ù²Ù¾î º¸¾Ò´õ´Ï ÀԷµµ µÇ°í dz¼±µµ¿ò¸» ±îÁö...¼ø°£, Àú ¸¹Àº Äڵ带 ´Ù ÀÌ·¸°Ô °íÃÄ¾ß Çϴ°¡ ÇÏ´Â Àǹ®ÀÌ µé¾ú´Âµ¥, ¹ø¿ªµÈ ¹®¼­Áß¿¡¼± ¸Þ½ÃÁö īŻ·Î±×¿¡ ´ëÇÑ °³³äÀ» ÀÐ¾î º» ±â¾ïÀÌ ³µ½À´Ï´Ù. ÆÄÀ̽㠸ް¡ À§Á¬ÀÌ ¸Þ½ÃÁö īŻ·Î±×±îÁö ¿°µÎ¿¡ ±¸¼ºµÇ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù. ´É·ÂÀÌ ´êÁö ¾Ê¾Æ Áö¿øÇÏ´ÂÁö ¾ÈÇÏ´ÂÁö È®ÀÎÇØ º¼ ¼ö´Â ¾ø½À´Ï´Ù.

3. Ŭ¸³º¸µå¸¦ ÀÌ¿ëÇÑ µ¥ÀÌŸ ±³È¯Àº ¾î¶»°Ô Çϴ°¡?

Ŭ¸³º¸µå »çÀÌÀÇ µ¥ÀÌŸ ±³È¯ÀÌ ºñÆ®¸ÊÀÌ ¾Æ´Ñ ÄÚµåÀÎ ÀÌ»ó, ÇÇÇÒ ¼ö ¾ø´Â ¹®Á¦Àε¥, pygtk, tkinterµî¿¡¼­ ²ø¾î ³õ±â ÇÑ µ¥ÀÌŸµéÀÌ »óÀÌÇÑ ÇàŸ¦ º¸ÀÌ´Â °ÍÀº "²ø¾î ³õ±â" ó¸® »çÀÌ¿¡ ÄÚµå º¯È¯ºÎºÐÀÌ Á¤È®ÇÏ°Ô Á¤ÀǵÇÁö ¾Ê´Â ¹®Á¦¶§¹®À̶ó°í »ý°¢µË´Ï´Ù. ¾î¶»°Ô ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇÏ¿© ¿ª½Ã ´É·Â ºÎÁ·À» ´Ù·ç¾î º¸Áö ¸øÇÕ´Ï´Ù.

4. ±×·³ ¸®´ª½º¿¡¼­´Â ¾î¶»°Ô ÇѱÛÀ» »ç¿ëÇÒ ±î?

ÀÌ·ÐÀûÀ¸·Î mbcsÅ͹̳¯ÀÌ À¯´Ð½º»ó¿¡ Á¸ÀçÇÏÁö ¸øÇÒ ÀÌÀ¯´Â ¾ø°ÚÁö¸¸, º¸½Ã´Ù½ÃÇÇ mbcs´Â À©µµ¿ì¿¡¸¸ °¡Ä¡°¡ ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ±¸ÀÌ ÇÁ·Î±×·¡¹ÖÇϴµ¥´Â utf-8À» ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é »ó´çÇÑ ¼ö°í¸¦ ÇØ¾ß ÇÔÀ» º¸¾Ò½À´Ï´Ù. ±×·³ ¸®´ª½º¿¡¼­ utf-8·Î ÄÚµùÇÏ´Â °ÍÀÌ ÀÌÁ¡ÀÌ Àִ°¡? euc-krÀ̶ó´Â ÇÑ±Û ÄÚµ¦Àº ¸®´ª½º¿¡ Çʼö ºÒ°¡°áÇÑ Á¸ÀçÀΰ¡? ´É·ÂÀÌ ¾ÈµÇ´Â °ü°è·Î ¸ðµç °É Å×½ºÆ® ÇØº¸Áö ¸øÇÕ´Ï´Ù. °ü½ÉÀÖ´Â ºÐµéÀº Á¦ Áú¹®ÀÇ ¿äÁö¸¦ È®½ÇÈ÷ ÀÌÇØÇϸ®¶ó »ý°¢ÇÕ´Ï´Ù. ÀÌ ±ÛÀ» ÀÐ¾î º¸¼Ì´Ù¸é Å×½ºÆ®ÀÇ ±âÁØÀÌ ¼­½Ã¸®¶ó ¹Ï½À´Ï´Ù. È®½ÇÇÑ ±âÁØÀ» ¼¼¿ì°í Å×½ºÆ®Çϸé È®½ÇÇÑ ´äÀÌ ³ª¿À°ÚÁö¿ä. Å×½ºÆ®ÇØ º¸½Ê½Ã¿À. euc-kr¾øÀ¸¸é ÇѱÛÀ» »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö ¾ø´ÂÁö, ¾î¶² ¹®Á¦°¡ ÀÖ´ÂÁö¸¦..........

5. print¿Í echoÀÇ Â÷ÀÌ´Â ¹«¾ùÀΰ¡?

¿©±â¿¡´Â ·ÎÄÉÀÏÀÌ ÀÛ¿ëÇÏ´Â °Å °°Àºµ¥ ¸ÞÄ«´ÏÁòÀ» ÆÄ¾ÇÀ» ¸øÇÏ¿´½À´Ï´Ù. ttyÇü Å͹̳¯(´ëÇ¥ÀûÀ¸·Î IDLEÀ̳ª ¸í·É¾î¶óÀÎ ÀÎÅÍÇÁ¸®ÅÍ)¿¡¼­ ÄÚµå ¿¬½ÀÀ» Çϰųª ÀÛ¾÷À» ÇÒ ¶§, a="ÇѱÛ" À» ŸÀÚÇÏ°í ¿£ÅÍÇÏ¸é µé¾î°£ °ªÀÌ ´Ù½Ã Ãâ·ÂµÇ¾î ³ª¿É´Ï´Ù. print a ¶ó°í ŸÀÚÇϸé a°¡ °¡Áø °ªÀÌ Ãâ·ÂµÇ ³ª¿É´Ï´Ù. ¾Æ½ºÅ°ÀÇ °æ¿ì¿¡´Â Ãâ·ÂµÇ´Â ¾çÀÚÀÇ °ªÀÌ °°¾Æ¼­ Ä£¼÷Çѵ¥, ÇѱÛÀº ±×·¸Áö ¾Ê°í ¹é½½·¡½¬°¡ ºÙÀº ÄÚµåµéÀÌ ÀÏ·Ä·Î ´Ã¾î¼­¼­ Ãâ·ÂµÇ´Â °ÍÀ» º¼¼ö ÀÖ½À´Ï´Ù. À̰ÍÀÌ Çѱ۷ΠÃâ·ÂµÇ´Â °ÍÀÌ Á¤»óÀÏ °Å °°Àºµ¥ ¹º°¡ À߸øµÈ °ÍÀº ¾Æ´Ñ°¡ ÀÌ·± »ý°¢À» ÇÏ°Ô µË´Ï´Ù. ÆÄÀ̽㿡¼­ÀÇ À¯´ÏÄÚµå ÀÔÃâ·Â¿¡ ´ëÇÏ¿© ¿¬±¸Çϸ鼭 µÎ °³ÀÇ ¿ëµµ°¡ ´Ù¸£´Ù´Â »ý°¢À» ÇÏ°Ô µÇ¾ú´Âµ¥, echo·Î ³ª¿À´Â °ªÀº ³»ºÎÀÇ ÄÚµå ÇüŸ¦ º¸¿©ÁÖ´Â °ÍÀ̰í, print·Î ³ª¿Â °ªÀº »ç¿ëÀÚ¿¡°Ô Á¤º¸¸¦ ÁÖ°íÀÚ ÇÏ´Â ¸ñÀûÀÌ ¾Æ´Ñ°¡ ÃßÃøÇØ º¸¾Ò½À´Ï´Ù. ¸¸¾à echoÀÇ Ãâ·Â°ª°ú printÀÇ Ãâ·Â°ªÀÌ °°±â¸¦ ¿øÇÑ´Ù¸é Å͹̳¯À» ±×·¸°Ô ±¸¼ºÇؼ­ »ç¿ëÇØ¾ß ÇÏ´Â °ÍÀ̶ó°í »ý°¢ÇØ º¾´Ï´Ù. IDLEÀÌ ³ª¸§´ë·Î Å͹̳¯À» ±¸¼ºÇؼ­ »ç¿ëÇÏ´Â °ÍÀ» º¸¸é °¡´ÉÇÒ °Í °°½À´Ï´Ù. ÄÚµ¦À» À̸®Àú¸® °Çµå·Á º¸¸é ÇØ°áÃ¥ÀÌ ³ª¿Ã °Íµµ °°½À´Ï´Ù.

ºÒÈ®½ÇÇÑ °á·ÐÀ¸·Î ¸¶Ä¡¸ç

ÂüÀ¸·Î µÇµµ ¾Ê´Â °á·ÐÀ¸·Î ¸¶Ä¡°Ô µË´Ï´Ù.

°ü½ÉÀÌ ÀÖ´Â ºÐÀº ¾ÆÁ÷ ÇØ°áÇÏÁö ¸øÇÑ ºÎºÐÀ» º¸Ãæ ¿¬±¸ÇÏ¿© Áֽøé Á»´õ Á¤È®ÇÑ Áöħ¼­°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. ÇѱÛÀÔÃâ·Â¿¡ ¹®Á¦°¡ ÀÖ´Ù¸é ÀÚ½ÅÀ» ¸ÕÀú µ¹¾Æº¸¾Æ¾ß ÇÕ´Ï´Ù.

»ç½ÇÀº ¿¹Á¦±îÁöµµ ÁغñÇϰí ÀÖ¾ú´Âµ¥ ±×·¯´Ù º¸´Ï Á¤¸» ¿Ïº®ÇÑ Áöħ¼­°¡ µÇ¾î ¹ö¸®´Â °Í °°¾Æ¼­ Æ÷±âÇÏ¿´½À´Ï´Ù. ¾îÂ÷ÇÇ Áö±ÝÀº ÀÌ·ÐÀ» ±¸¼ºÇϰí ÀÖ´Â °ÍÀ̰í ÀÌ ±ÛÀ» Àд »ç¶÷µéÀÇ ¸¹Àº Âü¿©·Î ´Ù½Ã ¹«ÀåÇÒ Áغñ¸¦ Çϰí ÀÖ´ÂÁö¶ó È®½ÇÇÑ °á·ÐÀ» ³»¾î ¹ö¸®¸é ÀÌÁ¦ ½ÃÀÛÇÏ´Â Ãʺ¸µé¿¡°Ô À߸øµÈ ±æ·Î ÀεµÇÒ ¼öµµ ÀÖ´Ù´Â Á߾а¨ ¶§¹®À̾ú½À´Ï´Ù.

ÀÌ»óÀ¸·Î º¹ÀâÇϱâ À̸¦µ¥ ¾ø´Â À©µµ¿ì¿¡¼­ÀÇ À¯´ÏÄÚµå ÇѱÛ󸮹®Á¦¸¦ µå·¯³ª´Â Ç¥¸é Çö»óÀÇ ±«¸®µéÀ» º¸°í¼­ Á¤¸®ÇÏ¿´½À´Ï´Ù. º»ÀÎÀº ÀÌ·¸°Ô °í¹ÎÇÏ°í º¹ÀâÇÏ°Ô »ý°¢Çϰí Àִµ¥ ´Ù¸¥ ºÐµéÀº º°·Î °ï¶õÀ» ´À³¢Áö ¾Ê´Â °Í °°½À´Ï´Ù. ¾Æ¸¶µµ À©µµ¿ì¿¡¼­ÀÇ ÆÄÀ̽ã ÇÁ·Î±×·¡¹ÖÀÌ È°¼ºÈ­ µÇÁö ¾ÊÀº ¶§¹®ÀΰÍÀº ¾Æ´Ñ°¡ »ý°¢ÇÕ´Ï´Ù. ¸®´ª½º¿¡¼­´Â ¾Æ¹« ¹®Á¦°¡ ¾ø´Â °ÍÀÎÁöµµ ¸ð¸¨´Ï´Ù. ±×·¸Áö¸¸ ÀÚ½ÅÀÇ ÇÁ·Î±×·¡¹Ö ȯ°æÀ» ´Ù¸¥ Ç÷§ÆûÀ¸·Î »õ·Î¿î ±¸ÀÌȯ°æÀ¸·Î À̵¿½Ãų ¶§ ¹Ýµå½Ã Áö±Ý º»ÀÎÀÌ ³íÀÇÇÑ ÄÚµå ¹®Á¦¿¡ ºÀÂøÇϸ®¶ó »ý°¢ÇÕ´Ï´Ù. À§¿¡ Àº»ö »öÄ¥ÇØ ³õÀº ºÎºÐÀº °á·Ð ºÎºÐÀÔ´Ï´Ù. Çѱ۹®Á¦·Î °í¹ÎÇϽô ºÐµéÀº ±×´ë·Î ¼³Á¤ÇϽô °ÍÀ» ±ÇÀåÇÕ´Ï´Ù.

¼öÁ¤ johnsonj 2002.01.01 ÆÄÀ̽㠸¸¼¼!!!