xwindows에서 charset을 자동인식해서 잘 보여주는 프로그램들이 있는 반면 대부분의 프로그램은 깨진 글자를 보여주게
됩니다.

아래 설명되는 프로그램들의 환경 : CentOS 5.2

1. proftpd
proftpd에서 접속시 인증까지는 정확한 시간이 기록되다가 시스템 time zone = KST로 설정되어 있음에도 로그인후 틀린 시간이
로그에 남거나 파일 전송시 시간이 틀린 경우 proftpd.conf에 아래 설정을 추가해 줍니다.
TimesGMT off
SetEnv TZ :/etc/localtime

테스트 결과 정상적인 시간이 로그에 남았습니다. 해당 proftpd 버전은 1.3.2cvs-2 였습니다.
참고 링크 : http://www.proftpd.org/docs/howto/Timestamps.html

1.1 utf8 설정
proftpd 1.3.1이상 1.3.2rc1 미만 버전
UseUTF8

proftpd 1.3.2rc1 이상 버전
UseEncoding # doc/modules/mod_lang.html 참조
또는 configure시--with-nls를 추가
현재 proftpd의 utf8관련 옵션들이 변경중인듯 하고 1.3.2 버전이 나와봐야 확실한 설정을 알수 있을듯합니다.


2. euckr로 저장된 파일 이름
utf8시스템에서 euckr로 된 파일명이 깨져 보일경우 convmv패키지를 설치(yum install convmv - yum에 적응되니
엄청나게 편하더군요 emoticon)후 comvmv -f euckr -t utf8 "filename"  명령을 실행해 보면 깨진 파일명을 제대로 보여줍니다.
변환해 보여준 파일명이 정확하다면 --notest 옵션을 추가해 실제 파일명을 변경합니다.
comvmv -f euckr -t utf8 "filename"  --notest

깨진 파일명을 입력할수 없거나 파일이 여러개일때는 ./* -r 명령을 추가해 현재 디렉토리 이하 모든파일을 선택해줍니다.
comvmv -f euckr -t utf8  ./* -r  --notest


3. 파일 내부(text, conf, ini 등등)의 euckr 변환
테스트 파일은 김정균님이 패키징한 proftpd의 conf파일 proftpd.conf입니다.
cat ./proftpd.conf
..
# ▒Ϲ▒▒▒▒▒▒ file▒▒▒ overwrite▒▒ ▒▒▒▒▒ϰ▒ ▒Ѵ▒.
#max download file size
..
위 처럼 깨져보일경우

iconv -f euckr -t utf8 ./proftpd.conf > proftpd.conf.utf8
cat ./proftpd.conf.utf8
# 일반적으로 file들을 overwrite를 가능하게 한다.
#max download file size
한글이 잘 보이는군요 :)

4. samba
smb.conf에 다음 설정을 추가해 줍니다.
dos charset = cp949
unix charset = utf8

5. 기타 - ftp client
최근의 ftp client들은 utf8 encoding을 지원하니 encoding관련 옵션을 찾아보면 되겠습니다.


utf8 시스템으로의 전환중 뭔가 이상한것이 발견(?)되면 추가하도록 하겠습니다 :)
  1. Favicon of http://free4u.wo.tc/ EcusE 2009.02.07 23:09

    convert euc-kr(cp949) to utf8 with phphttp://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=58038<?php

    // 작성자 : 송효진$f = $_SERVER['argv'][1];
    if(!file_exists($f)) {
        echo $f." file not found.n";
    }
    $text = file_get_contents($f);
    $text8 = @iconv('CP949', 'UTF-8//IGNORE', $text);

    $cnt = strlen($text);
    $cnt8 = strlen($text8);
    if($cnt <= $cnt8) {
        // 제대로 변경이 되었다면 용량이 커졌을 것이다.
        // 용량이 같다면 한글이 없는 것이다.
        rename($f, $f.'.euckr'); // 백업
        file_put_contents($f, preg_replace('/charset=euc-kr/i', 'charset=utf-8', $text8));
        echo $f." file is converted.n";
    } else {
        // 용량이 작아진다면 잘못된 것이다.
        $fp = fopen('/error.txt', 'a');
        fwrite($fp, $f."n";);
        fclose($fp);
    }
    ?> 

  2. Favicon of http://free4u.wo.tc/ EcusE 2009.03.01 15:46

    euckr 보다 cp949가 좀더 정확한 결과를 보여주는것 같습니다. 가능하면 cp949를 사용하시는게 좋겠네요.iconv -f cp949convmv -f cp949

  3. Favicon of http://free4u.wo.tc/ EcusE 2009.03.20 15:45

    windows용 프로그램도 있더군요.euckr <-> utf8 상호 변환 가능합니다.제작자 : 신재선님홈페이지 : http://sunny.netikor.com/

+ Recent posts