선수로 산다, 때론 좋은 코치로

[golang] 인코딩 변환하기(euc-kr > utf-8) 본문

개발 관련/go

[golang] 인코딩 변환하기(euc-kr > utf-8)

godsman 2018. 2. 20. 18:00

[golang] 인코딩 변환하기(euc-kr > utf-8)

우리은행 거래내역 엑셀파일을 로그스태시에 csv 파일로 입력하기 진행 중.

1번째 - 엑셀파일 읽어들이기

2번째 - 인코딩 변환하기

윈도우의 엑셀은 euc-kr 이라는 인코딩으로 파일을 저장한다. 윈도우에서 기본적으로 한글을 표현하는 인코딩 방식이다. 윈도우에서 한글을 사용할 때는 전혀 문제가 되지 않지만 다른 프로그램을 사용할 때는 문제가 될 수 있다. 엘라스틱서치는 기본 인코딩이 utf-8 이므로 윈도우에서 사용하는 한글을 그대로 입력하면 한글이 깨져서 원하는 데이터를 확인할 수가 없다.

엘라스틱서치에서 활용하기 위해서는 엑셀파일에서 읽어들인 한글의 인코딩을 변환해야 한다.

변환관련 슬라이드 - https://www.slideshare.net/suapapa/go-character-encoding

Third party packages

go-iconv: cgo wrapper of iconv library

go-charset:

cp949:

package text 사용 - golang.org/x/text - https://godoc.org/golang.org/x/text

encoding/korean Package korean provides Korean encodings such as EUC-KR.

변환관련 자료들

Converting files to UTF-8 - https://docs.moodle.org/23/en/Converting_files_to_UTF-8

  • 4가지 방법 제공

Convert Files To UTF-8 Encoding (Bulk) - https://gallery.technet.microsoft.com/scriptcenter/Convert-Files-To-UTF-8-5c58db5e

  • Microsoft Powershell 이용 방법

Powshell 이용 - Get-Content, Set-Content, out-file

  • Get-Content .\과거거래내역조회2017.csv | Set-Content -Encoding utf8 과거거래내역조회2017u.csv
  • Get-Content .\과거거래내역조회2017.csv | out-file -Encoding utf8 과거거래내역조회2017u.csv
  • UTF-8 with BOM 으로 변환됨
Powershell Script 이용 - Convert Files To UTF-8 Encoding (Bulk)
  • https://gallery.technet.microsoft.com/scriptcenter/Convert-Files-To-UTF-8-5c58db5e
  • UTF-8 with BOM 으로 변환됨


Comments