> 백엔드 개발 > PHP 튜토리얼 > flccinaucinihilipilification Linux fgetcsv로 얻은 배열 요소가 빈 문자열인 문제에 대한 솔루션

flccinaucinihilipilification Linux fgetcsv로 얻은 배열 요소가 빈 문자열인 문제에 대한 솔루션

WBOY
풀어 주다: 2016-07-29 08:47:15
원래의
1371명이 탐색했습니다.

하지만 서버에서는 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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿