๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

iconv ๋ช…๋ น์–ด

์‹œํ๋ฆฌํ‹ฐ์ง€ํ˜ธ 2024. 11. 3.

iconv

์ด ๋ช…๋ น์–ด๋Š” ํŒŒ์ผ์˜ ์ธ์ฝ”๋”ฉ์„ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•œ๊ธ€ ํŒŒ์ผ์ด EUC-KR๋กœ ์ธ์ฝ”๋”ฉ๋˜์–ด ์žˆ์„ ๋•Œ, ์ด๋ฅผ UTF-8๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋„ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ๋กœ ๋ฆฌ๋ˆ…์Šค์™€ ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜ ์ฒด์ œ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.

 

 

๊ธฐ๋ณธ ๊ตฌ๋ฌธ

iconv -f <์›๋ณธ ์ธ์ฝ”๋”ฉ> -t <๋ณ€ํ™˜ํ•  ์ธ์ฝ”๋”ฉ> <์ž…๋ ฅ ํŒŒ์ผ> -o <์ถœ๋ ฅ ํŒŒ์ผ>

 

  • -f : ์›๋ณธ ํŒŒ์ผ์˜ ์ธ์ฝ”๋”ฉ์„ ์ง€์ •ํ•œ๋‹ค.
  • -t : ๋ณ€ํ™˜ํ•  ์ธ์ฝ”๋”ฉ์„ ์ง€์ •ํ•œ๋‹ค.
  • <์ž…๋ ฅ ํŒŒ์ผ> : ์ธ์ฝ”๋”ฉ์„ ๋ณ€ํ™˜ํ•  ๋Œ€์ƒ ํŒŒ์ผ์ด๋‹ค.
  • -o : ๋ณ€ํ™˜๋œ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ํŒŒ์ผ์„ ์ง€์ •ํ•œ๋‹ค.

 

์˜ˆ์‹œ

 

1. EUC-KR์—์„œ UTF-8๋กœ ๋ณ€ํ™˜

iconv -f EUC-KR -t UTF-8 input.txt -o output.txt
  • input.txt ํŒŒ์ผ์„ EUC-KR์—์„œ UTF-8๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๊ฒฐ๊ณผ๋ฅผ output.txt์— ์ €์žฅํ•œ๋‹ค.

 

2. UTF-16์—์„œ UTF-8๋กœ ๋ณ€ํ™˜ ํ›„ ํ‘œ์ค€ ์ถœ๋ ฅ์— ํ‘œ์‹œ

iconv -f UTF-16 -t UTF-8 input.txt
  • input.txt ํŒŒ์ผ์„ UTF-16์—์„œ UTF-8๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์ค€ ์ถœ๋ ฅ(ํ„ฐ๋ฏธ๋„)์— ํ‘œ์‹œํ•œ๋‹ค.

 

3. EUC-KR๋กœ ์ธ์ฝ”๋”ฉ๋œ input.csv ํŒŒ์ผ์„ UTF-8๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.(csv ํŒŒ์ผ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.)

iconv -f EUC-KR -t UTF-8 input.csv -o output.csv

 

 

 

4. ์—ฌ๋Ÿฌ ํŒŒ์ผ ๋ณ€ํ™˜

  • ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๋ณ€ํ™˜ํ•  ๊ฒฝ์šฐ for ๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
for file in *.txt; do
    iconv -f EUC-KR -t UTF-8 "$file" -o "utf8_$file"
done

 

 

์ธ์ฝ”๋”ฉ ํ™•์ธํ•˜๊ธฐ

 

ํŒŒ์ผ์˜ ์ธ์ฝ”๋”ฉ์ด ํ™•์‹คํ•˜์ง€ ์•Š๋‹ค๋ฉด file ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

file -i <ํŒŒ์ผ๋ช…>

๋Œ“๊ธ€