한수만 도와주십시오 ㅠㅠ (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(
        ... 중략
|

댓글 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']);

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

자유게시판이라 답변 일부러 안드립니다.
감사합니다. 배열을 하나하나 다 쓰는 방법이 있었군요 ㅠㅠ
for($i=0; $i<=count($row); $i++)
$row[$i] = iconv("euc-kr","UTF-8",$row[$i]);
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에서도 같은 방식으로 적용됩니다.
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

+
제목 글쓴이 날짜 조회
14년 전 조회 2,801
14년 전 조회 1,279
14년 전 조회 1,344
14년 전 조회 1,259
14년 전 조회 1,179
14년 전 조회 1,161
14년 전 조회 1,393
14년 전 조회 1,814
14년 전 조회 1,259
14년 전 조회 1,341
14년 전 조회 1,172
14년 전 조회 2,193
14년 전 조회 2,318
14년 전 조회 1,713
14년 전 조회 5,141
14년 전 조회 1,735
14년 전 조회 1,428
14년 전 조회 1,247
14년 전 조회 4,974
14년 전 조회 4,864
14년 전 조회 1,393
14년 전 조회 2,071
14년 전 조회 2,131
14년 전 조회 1,663
14년 전 조회 1,733
14년 전 조회 1,299
14년 전 조회 1,552
14년 전 조회 1,198
14년 전 조회 2,259
14년 전 조회 1,572