한수만 도와주십시오 ㅠㅠ (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']);
{
$row['2'] = iconv("euc-kr","UTF-8",$row['2']);
unset($aryQry);
$aryQry = Array(
$aryQry = Array(
... 중략
추천
0
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']);
잘 응용하면 되실것 같네요.
자유게시판이라 답변 일부러 안드립니다.
$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]);
$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에서도 같은 방식으로 적용됩니다.
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에서도 같은 방식으로 적용됩니다.