ruby-dev 패키지가 설치돼 있지 않다면, gem install 중 아래와 같은 에러가 발생한다.
# gem install iconv
Building native extensions. This could take a while...
ERROR: Error installing iconv:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:1:in `<main>'
Gem files will remain installed in /var/lib/gems/1.9.1/gems/iconv-1.0.3 for inspection.
UTF-8을 EUC-KR로 변환하고, 다시 UTF-8로 변환하는 방식으로 테스트했다. (당연히)변환은 문제 없이 잘된다. 그런데 스크립트를 실행하자 다음과 같은 경고메시지를 출력했다.
$ ./iconv.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead.
안녕
iconv 대신에 String.encode를 사용하란 말씀이다. ruby는 1.9.x 버전부터 사용와서 잘 모르는데, 아마도 1.9.x가 되면서 String 클래스에서 문자셋 변환 메서드를 기본으로 포함하는 것 같다.
String.encode를 사용하도록 코드를 수정했다.
iconv
iconv gem 설치
iconv 사용
string.encode 의 사용
히스토리
Recent Posts
Archive Posts
Tags