엑셀 업로드시 특수문자?가 물음표로 나올때

안녕하세요!
엑셀파일 업로드시 ± , Ø 같은 특수문자가 ?(물음표)로 저장이 됩니다.

어떻해 처리해야 할까요?
 

 $data = new Spreadsheet_Excel_Reader();

    // Set output Encoding.
    $data->setOutputEncoding('UTF-8');

 

$wr_1    = addslashes($data->sheets[0]['cells'][$i][1]);

|

답변 3개 / 댓글 6개

문자셋 문제 입니다. 

이부분 utf-8 바꾸셔서 적용해보시면 해결될듯합니다.

해보시다 안되시면 쪽지 주시면 도움드리겠습니다.

 

 

문자셋 문제 입니다. 

이부분 utf-8 바꾸셔서 적용해보시면 해결될듯합니다.

해보시다 안되시면 쪽지 주시면 도움드리겠습니다.

 

 

주석처리 해보세요

Copy
// $data->setOutputEncoding('UTF-8');

답변에 대한 댓글 6개

답변감사합니다.~
주석처리 하니 깨져서 나오네요
전체적인 흐름이
EUC-KR 엑셀.xlsx > 업로드 > 웹브라우저 출력시 깨짐
인가요?
아니면 어떤 다른 흐름인가요?
현재 db는 UTF-8입니다.
말씀하신대로
'EUC-KR 엑셀.xlsx > 업로드 > 웹브라우저 출력시 깨짐' 이 맞아요 (한글도 깨짐)
utf8로 업로드 해봐도 특수문자가 제대로 안나옵니다.
아래처럼 하면 어떻게 나오나요?
[code]
<?php
header('Content-Type: text/html; charset=UTF-8');

$data = new Spreadsheet_Excel_Reader();

// Set output Encoding.
$data->setOutputEncoding('UTF-8');

$wr_1 = addslashes($data->sheets[0]['cells'][$i][1]);

echo $wr_1;
?>
[/code]
신경써 주셔서 감사합니다.
여전히 제대로 표현이 안되네요
업로드된걸 수정하면 제대로 보이니 엑셀 업로드시 문제는 맞는거 같은데
어렵네요
다음도 시도해볼수 있을듯 합니다.

1. 파일 저장부터 모든 환경을 UTF-8 로 테스트
엑셀 인코딩을 UTF-8 로 저장(도구 > 웹 옵션 > 인코딩 > 유니코드(UTF-8))해서
완전 UTF-8 환경에서도 확인해보시고

2. 파일 저장부터 모든 환경을 EUC-KR or CP949 로 테스트
<?php
$enc = 'EUC-KR';
// $enc = 'CP949';

header('Content-Type: text/html; charset=' . $enc);

$data = new Spreadsheet_Excel_Reader();

// Set output Encoding.
$data->setOutputEncoding($enc);

$wr_1 = addslashes($data->sheets[0]['cells'][$i][1]);

echo $wr_1;
?>

3. setUTFEncoder 메소드도 활용해보세요
https://github.com/kbsali/regadata/blob/master/src/Util/Spreadsheet_Excel_Reader.php#L1047

답변을 작성하려면 로그인이 필요합니다.