Linux

[Linux] 파일 인코딩 ν˜•μ‹ 확인 및 λ³€κ²½ 방법

one2ye 2022. 4. 22. 16:45
728x90
λ°˜μ‘ν˜•

🟑 파일 인코딩 ν˜•μ‹μ„ ν™•μΈν•˜κ³  변경해보기!

 

βœ… 파일 인코딩 ν˜•μ‹ 확인

 

file -bi 파일λͺ…

 

iso-8859-1둜 인코딩 λ˜μ–΄μžˆλŠ” 것을 확인할 수 μžˆλ‹€!

 

-> μœˆλ„μš°μ—μ„œλŠ” ν•œκΈ€μ„ ANSI둜 μΈμ½”λ”©ν•˜λ©΄ μžλ™μœΌλ‘œ CP949 ν˜•μ‹μœΌλ‘œ 인코딩 λ˜λŠ”λ° λ¦¬λˆ…μŠ€μ—μ„œλŠ” iso-8859-1둜 μΈμ‹λœ μƒνƒœμ΄λ‹€.

 

⚠️ iso-8859-1 은 μ„œμœ λŸ½ μ–Έμ–΄ 인코딩을 μ§€μ›ν•˜κΈ° λ•Œλ¬Έμ— ν•œκΈ€μ„ ν‘œμ‹œν•  λ•Œ κΉ¨μ§€λŠ” λ¬Έμ œκ°€ λ°œμƒν•˜κ²Œ λœλ‹€. 

λ°˜λ“œμ‹œ DB에 insert ν•˜λ €λŠ” 파일과 ν˜„μž¬ mysql(DB)의 인코딩 ν˜•μ‹μ΄ μΌμΉ˜ν•˜λŠ”μ§€ ν™•μΈν•˜κ³  또 확인해야 ν•œλ‹€!!!

 

 

 

βœ… 파일 인코딩 ν˜•μ‹ λ³€κ²½

 

iconv -f 기쑴인코딩포맷 -t 바꿀인코딩포맷 기쑴파일λͺ… > λ°”κΏ€νŒŒμΌλͺ…

# μ˜ˆμ‹œ
iconv -f iso-8859-1 -t utf-8 build_busan.txt    > build_busan_utf8.txt

κΈ°μ‘΄ 인코딩 포맷 : iso-8859-1

λ°”κΏ€ 인코딩 포맷 : utf-8

κΈ°μ‘΄ 파일λͺ… : build_busan.txt

λ°”κΏ€ 파일λͺ… : build_busan_utf8.txt

 

⚠️ 인코딩 ν˜•μ‹μ„ λ³€κ²½ν•  λ•ŒλŠ” λ°˜λ“œμ‹œ 파일λͺ…을 λ‹€λ₯΄κ²Œ ν•΄μ•Όν•œλ‹€!

 

 

ν•˜μ§€λ§Œ

 

utf-8둜 인코딩이 λ³€κ²½λ˜μ—ˆμŒμ—λ„ λΆˆκ΅¬ν•˜κ³  좜λ ₯값이 κΉ¨μ Έμ„œ λ‚˜μ˜¨λ‹€. μ™œλƒν•˜λ©΄, ν•œκ΅­μ–΄λ‘œ μΈμ½”λ”©λœ νŒŒμΌμ„ μ„œμœ λŸ½ μ–Έμ–΄ 방식(iso-8859-1)으둜 λ³΅ν˜Έν™”ν•œ λ’€ utf-8둜 μž¬μΈμ½”λ”©ν•œλ‹€λŠ” 의미이기 λ•Œλ¬Έμ΄λ‹€. 즉, ν•œκ΅­μ–΄λ‘œ μΈμ½”λ”©λœ νŒŒμΌμ€ ν•œκ΅­μ–΄λ₯Ό μ§€μ›ν•˜λŠ” ν˜•μ‹μœΌλ‘œ λ””μ½”λ”©ν•΄μ•Ό ν•˜λŠ”λ° μ§€κΈˆμ€ ν•œκ΅­μ–΄λ‘œ μΈμ½”λ”©λœ νŒŒμΌμ„ μ„œμœ λŸ½ μ–Έμ–΄λ₯Ό μ§€μ›ν•˜λŠ” ν˜•μ‹μœΌλ‘œ λ””μ½”λ”©λœ 상황이닀. λ”°λΌμ„œ 인코딩은 μ œλŒ€λ‘œ λμ§€λ§Œ μ•ˆμ— 값듀은 μ™„μ „νžˆ μ΄μƒν•œ 것듀이 λ“€μ–΄κ°€κ²Œ λœλ‹€.

 

이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œλŠ” euc-kr μ΄λ‚˜ cp949둜 λ³΅ν˜Έν™” 과정을 거쳐야 ν•œλ‹€.

 

 

 

βœ… μΈμ½”λ”©ν•œ νŒŒμΌμ„ λ‹€μ‹œ λ””μ½”λ”©

iconv -f cp949 -t utf-8 기쑴파일λͺ… > λ°”κΏ€νŒŒμΌλͺ…

# μ˜ˆμ‹œ
iconv -f cp949 -t utf-8 build_busan.txt    > build_busan_cp.txt

 

μ •μƒμ μœΌλ‘œ 잘 좜λ ₯λ˜λŠ” 것을 확인할 수 μžˆλ‹€.

 

 

 

πŸ’Š μΆ”κ°€ Tip!

이미 파일 ν˜•μ‹μ€ euc-kr (λ˜λŠ” ν•œκΈ€ νŒŒμΌμ„ μ œλŒ€λ‘œ 읽을 수 μžˆλŠ” ν˜•μ‹)둜 μ„€μ •λ˜μ–΄ μžˆμ§€λ§Œ Linux OS μ•ˆμ—μ„œλ§Œ iso-8859-1둜 μΈμ‹ν•˜λŠ” 경우라면 두 번의 κ³Όμ •(인코딩 & λ””μ½”λ”©) 없이 κΈ°μ‘΄ 파일 ν˜•μ‹μ— euc-kr을 μž…λ ₯ν•˜μ—¬ λ°”λ‘œ utf8 ν˜•μ‹(λ˜λŠ” 본인이 μ›ν•˜λŠ” ν˜•μ‹)으둜 λ°”κΏ€ 수 μžˆλ‹€.

iconv -f euc-kr -t utf-8 기쑴파일λͺ… > μƒˆλ‘œμš΄νŒŒμΌλͺ…

 

 

 

 

 

 

 

 

728x90
λ°˜μ‘ν˜•