한수만 도와주십시오 ㅠㅠ (iconv 질문) > 자유게시판

자유게시판

한수만 도와주십시오 ㅠㅠ (iconv 질문) 정보

한수만 도와주십시오 ㅠㅠ (iconv 질문)

본문

엑셀 CSV 파일을 업로드 하는데 UTF-8 셋팅에서 한글이 깨져서 여러가지 검색하다가
아래와 같이 수정하였습니다. (붉은글씨 부분을 추가)
   
배열로 CSV 파일을 가져왔을 때 $row['2'] 이 부분이 한글이라서 삽질 끝에
$row['2'] = iconv("euc-kr","UTF-8",$row['2']); 이 부분을 추가하니까 다행히도 해결되었습니다.
초보라 잘 모르긴 하지만 CSV 파일을 업로드 하는데
UTF-8은 EUC-KR 과는 달리 한번 더 인코딩 과정을 거쳐야 디비에 깨지지 않고 들어가는 것 같습니다.
이 부분이 정확한지는 모르겠지만 여러가지 검색해 보니 초보인 저는 이런 결론을 났는데 맞는지요?
 
진짜 질문 드릴께요 한수 가르쳐 주십시오 고수님!!
추가한 $row['2'] = iconv("euc-kr","UTF-8",$row['2']); 이 부분이 늘 $row['2'] 이 곳이 한글이 아닌데요
$row['0'], $row['1'] 등이 한글이 올 수도 있어서요...
즉, $row의 모든 배열값을  iconv 하려면 어떻게 식을 써야하는지 해도 잘 안됩니다.ㅠㅠ
한수 가르쳐 주십시오~
 
아래는 파일 업로드 소스중에서...수정부분
 
    setlocale(LC_CTYPE, 'ko_KR.eucKR');
    $aFile = file_upload('word',$_SERVER['DOCUMENT_ROOT'].UPLOAD_FOLDER,'unLimit','word');
    while($row = fgetcsv($handle,1000, ','))
        {
        $row['2'] = iconv("euc-kr","UTF-8",$row['2']);
        unset($aryQry);
        $aryQry = Array(
        ... 중략
추천
0

댓글 4개

$row['2'] = iconv("euc-kr","UTF-8",$row['2']);
$row['2'] = iconv("euc-kr","UTF-8",$row['2']);
$row['2'] = iconv("euc-kr","UTF-8",$row['2']);

잘 응용하면 되실것 같네요.

자유게시판이라 답변 일부러 안드립니다.
function ko2uni($str) {
    return iconv("euc-kr", "UTF-8", $str);
}

while 문 안에서
$row = array_map("ko2uni", $row);
echo $row[0], echo $row[1];

http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=26886
참고해보세요. CSV에서도 같은 방식으로 적용됩니다.
전체 62 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT