제목 | fgetcsv를 사용하여 csv 파일의 데이터를 가져온 후 db에 데이터 등록 시 한글깨지는 문제 | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 정수리 | 작성시각 | 2018/03/26 13:52:04 |
|
|||
공공데이터포털에서 csv파일을 다운받아 웹페이지에 업로드하여 해당 파일에 있는 데이터를 db에 저장 할려고 합니다. 현재 fgetcsv를 사용하여 데이터를 가져온 후 db에 저장하는 부분까지 구현하였는데 한글데이터가 db에 저장하였을 때 db프로그램에서 확인하여 한글 데이터가 들어가는 필드를 확인해보면 한글이 깨지거나 아예 안들어가 있네요;; 웹페이지에서 데이터를 db에 저장하기 전에는 화면에 출력하면 정상적으로 출력이 됩니다. 그리고 mb_detect_encoding()를 사용하여 해당 데이터의 언어셋을 확인해보면 ASCII, UTF-8 이렇게 2가지가 있더라구요 검색을 통해 확인해보니 ASCII로 작성된 파일의 경우 이미 UTF_8로 인코딩되어 있다는 자료를 보았습니다.(영문이여서 나름 해석한다고 해봤을시 저런의미 인것 같더라구요) 그렇다보니 iconv를 사용하여 utf-8로변경하면 Detected an illegal character in input string 이 에러가 출력이 됩니다 ㅜㅜ 또 이해가 안되는 부분은 언어셋이 utf-8인 데이터의 경우는 db에서 들어갔을 시에는 데이터가 안깨져야 할텐데 그래도 깨져서 출력이 되네요;; 어떤부분을 수정,추가해야 csv파일의 한글데이터를 문제없이 db에 한글데이터가 깨지지 않고 들어 갈수 있을까요?
function load_gongssi($fileInfo)//csv파일에서 데이터를 가져오는 함수 { $i=0; $j = 0; $handle = fopen($fileInfo['full_path'], "r"); $csvData = array(); while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { //총 행 읽기 if($i != 0) { $csvData[$j] = array(); $num = count($data);//행별 데이터 총 데이터수 for ($c=0; $c < $num; $c++) { //행별 데이터 읽어오기 array_push($csvData[$j], $this->convert1($data[$c])); if($c == $num-1) { array_push($csvData[$j], date('Y-m-d H:i:s')); } } $j++; } $i++; } fclose($handle); return $csvData; } function RegitGongsiData($params) { $sql = 'insert into ri_gongsi(gsNum, gslawCode, gslawName, gsspecialCode, gsspecialName, gsjibun, gsstandardYear, gsstandardMonth, gsMoney, gsDay, gsYebu, gsWherther, gsadday) values(?,?,?,?,?,?,?,?,?,?,?,?,?)'; foreach($params as $csv){ //echo $csv[2].mb_detect_encoding($csv[2]).'<br>'; $sql = 'insert into ri_gongsi(gsNum, gslawCode, gslawName, gsspecialCode, gsspecialName, gsjibun, gsstandardYear, gsstandardMonth, gsMoney, gsDay, gsYebu, gsWherther, gsadday) values(?,?,"'.$csv[2].'",?,?,?,?,?,?,?,?,?,?)'; $result = $this->db->query($sql,array( $csv[0], $csv[1], $csv[3], $csv[4] ,$csv[5], $csv[6], $csv[7], $csv[8], $csv[9], $csv[10], $csv[11], $csv[12] )); } return $result; }
|
|||
다음글 | html5 video 가 ie 에서 실행이안되요 도움이... (1) | ||
이전글 | 쪽지 삭제 기능 구현 질문 (2) | ||
정수리
/
2018/03/26 13:56:17 /
추천
0
|
자체 해결하였습니다;