한국어 (EUC-KR)로 되어있는 Content를 UTF-8로 변환할 경우, iconv를 이용해서 쉽게 변환할 수 있다.
[code type=ruby]
conv = Iconv.new('UTF-8', 'EUC-KR')
converted = conv.iconv(content) # => UTF-8로 변환된 문자열
[/code]
문제가 되는 경우는 Content 내에 확장 완성형 문자 (ex. 아햏햏)가 있는 경우에 발생한다.
변환을 시도할 경우, Iconv::IllegalSequence 에러가 발생하게 된다.
이럴 경우, Iconv 객체를 생성할 때, //IGNORE 옵션을 붙여서 처리하지 못하는 문자열을 무시하도록
설정할 수 있다.
[code type=ruby]
conv = Iconv.new('UTF-8//IGNORE', 'EUC-KR')
[/code]
[code type=ruby]
conv = Iconv.new('UTF-8', 'EUC-KR')
converted = conv.iconv(content) # => UTF-8로 변환된 문자열
[/code]
문제가 되는 경우는 Content 내에 확장 완성형 문자 (ex. 아햏햏)가 있는 경우에 발생한다.
변환을 시도할 경우, Iconv::IllegalSequence 에러가 발생하게 된다.
이럴 경우, Iconv 객체를 생성할 때, //IGNORE 옵션을 붙여서 처리하지 못하는 문자열을 무시하도록
설정할 수 있다.
[code type=ruby]
conv = Iconv.new('UTF-8//IGNORE', 'EUC-KR')
[/code]
이 글의 트랙백 주소 :: http://blog.superkdk.com/trackback/35
-
Subject: UTF-8 로 charset 변경작업. 대 실패
Tracked from For A While [2007/02/28 17:42] 삭제서버 환경이 EUC-KR 에서 UTF-8 로 변함으로 인해 페이지들의 charset(문자세트) 변경이 필요해졌습니다.파일이 엄청나게 많은데 그 많은 파일들을 모두 노가다 할 순 없고. 필요한 파일만 바꿔 쓰면 젤 좋긴한데 include 가 좀 많이 있어서 서로서로 깨져버릴까봐 두렵고. 그래서 모든파일들을 일괄변환하는 법을 찾아봤습니다.한창 찾다가 이런 글을 올려놓은 카페가 보입니다. 뭐 조금 복잡하게(?) 설명이 되있길레 무슨뜻인지 알아 듣지 못하고..
-
Subject: [Ruby] Iconv 사용법
Tracked from Ssami~* [2007/11/12 12:51] 삭제다음은 ruby에서 iconv을 사용하는 방법이다. # module 선언 require 'iconv' ... # EUC-KR을 UTF-8로 변환하기 위한 선언 conv = Iconv.new('UTF-8', 'EUC-KR') #Convert 'document' converted = conv.iconv(document) Tip1. Document내 확장 완성형 문자가 존재하는 경우, 에러발생 (참조 : superkdk in the NET) 위 참조에서..



::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::
와우~ 좋은 팁 감사합니다.
안그래도 동아리 프로젝트에서 iconv 때매 죽는 문제가 골치였는데 말이죠..
멋진 팁이네요. 저도 골치였는데 ㅎㅎ
요즘은 EUC-KR을 UTF-8로 인코딩할 때,
1. EUC-KR -> UTF-8
2. 1에서 에러가 발생할 경우, CP949 -> UTF-8
3. 2에서 에러가 발생할 경우, CP949 -> UTF-8//IGNORE
로 사용하고 있습니다. ^^