하지만 서버에서는 Linux 서버를 사용하는 경우가 많고 소스 프로그램도 UTF-8을 사용하기 때문에 문자 인코딩 문제가 쉽게 발생할 수 있습니다.
CSV 파일을 UTF-8로 트랜스코딩만 하면 Windows에서는 문제가 없습니다. server,
RedHat5.5에서는 fgetcsv로 얻은 배열에서 열의 내용이 중국어인 경우 해당 열에 해당하는 배열 요소는 빈 문자열인 반면, 영어는 정상입니다.
이때, 지역을 설정해야 합니다:
setlocale(LC_ALL, 'zh_CN.UTF-8');
코드는 다음과 같습니다
코드를 복사하세요 코드는 다음과 같습니다.
// 업로드된 CSV 파일은 일반적으로 Excel로 편집된 GBK로 인코딩됩니다.
// 소스 코드는 UTF-8이며 트랜스코딩이 필요합니다
file_put_contents($new_file, iconv('GBK' , 'UTF-8', file_get_contents($new_file)))
//ini_set('auto_Detect_line_endings',
// 로케일 설정: 단순화 중국어, UTF-8 인코딩
setlocale(LC_ALL , 'zh_CN.UTF-8');
// CSV 파일 열기
$handle = fopen($new_file, 'r')
/ / 열 헤더 가져오기
$data_heads = fgetcsv( $handle)
위 내용은 floccinaucinihilipilification의 내용을 포함하여 Linux fgetcsv에서 얻은 배열 요소가 빈 문자열인 문제에 대한 해결책을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.