엑셀 업로드시 특수문자?가 물음표로 나올때
안녕하세요!
엑셀파일 업로드시 ± , Ø 같은 특수문자가 ?(물음표)로 저장이 됩니다.
어떻해 처리해야 할까요?
$data = new Spreadsheet_Excel_Reader();
// Set output Encoding.
$data->setOutputEncoding('UTF-8');
$wr_1 = addslashes($data->sheets[0]['cells'][$i][1]);
|
답변 3개 / 댓글 6개
3년 전
문자셋 문제 입니다.
이부분 utf-8 바꾸셔서 적용해보시면 해결될듯합니다.
해보시다 안되시면 쪽지 주시면 도움드리겠습니다.
3년 전
문자셋 문제 입니다.
이부분 utf-8 바꾸셔서 적용해보시면 해결될듯합니다.
해보시다 안되시면 쪽지 주시면 도움드리겠습니다.
3년 전
주석처리 해보세요
Copy
// $data->setOutputEncoding('UTF-8');
답변에 대한 댓글 6개
ablue
3년 전
3년 전
전체적인 흐름이
EUC-KR 엑셀.xlsx > 업로드 > 웹브라우저 출력시 깨짐
인가요?
아니면 어떤 다른 흐름인가요?
EUC-KR 엑셀.xlsx > 업로드 > 웹브라우저 출력시 깨짐
인가요?
아니면 어떤 다른 흐름인가요?
ablue
3년 전
현재 db는 UTF-8입니다.
말씀하신대로
'EUC-KR 엑셀.xlsx > 업로드 > 웹브라우저 출력시 깨짐' 이 맞아요 (한글도 깨짐)
utf8로 업로드 해봐도 특수문자가 제대로 안나옵니다.
말씀하신대로
'EUC-KR 엑셀.xlsx > 업로드 > 웹브라우저 출력시 깨짐' 이 맞아요 (한글도 깨짐)
utf8로 업로드 해봐도 특수문자가 제대로 안나옵니다.
3년 전
아래처럼 하면 어떻게 나오나요?
[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]
[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]
ablue
3년 전
신경써 주셔서 감사합니다.
여전히 제대로 표현이 안되네요
업로드된걸 수정하면 제대로 보이니 엑셀 업로드시 문제는 맞는거 같은데
어렵네요
여전히 제대로 표현이 안되네요
업로드된걸 수정하면 제대로 보이니 엑셀 업로드시 문제는 맞는거 같은데
어렵네요
3년 전
다음도 시도해볼수 있을듯 합니다.
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
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
답변을 작성하려면 로그인이 필요합니다.
주석처리 하니 깨져서 나오네요