PHP에서 CSV 파일을 구문 분석하려고합니다. 내 문제는 다음과 같습니다. "é"또는 "í"로 표시된 필드가 있으면 파서는 필드 시작 부분에서 모든 문자를 가져옵니다.필드 시작 부분에 "é", "í"와 같은 문자를 사용하는 PHP csv 파서
문제는 내 호스트에서만 발생하며 XAAMP를 로컬로 사용하는 경우 (최신 PHP 버전) 문제가 없습니다. 버그가있는 호스트의 PHP 버전은 다음과 같습니다. 5.2.6-1 + lenny9
코드는 fgetcsv의 한 줄에 불과합니다.
while (($program = fgetcsv($handle, 0, ',', '"')) !== FALSE) {...}
이 코드는 이미 print_r에서 볼 때 "먹은"버전을 출력합니다.
내가 할 수 있는게 있습니까? 그 이후로 수정 된 것은 PHP의 버그 일 것입니다. 내가 찾은 한 가지 대안은 필드 끝 부분에 쉼표를 붙임으로써 시퀀스를 벗어나는 것입니다 (내 CSV 소스, Google 스프레드 시트는 내부에있는 경우 자동으로 필드를 ""감싸줍니다). 그런 다음 쉼표 인 경우 마지막 문자를 삭제하는 함수를 작성할 수 있습니다 (이에 대한 도움말은 무엇입니까?).
PHP에서 알려진 버그입니까? (또는 그랬습니까?) 해결책이 있습니까? 그렇지 않다면 쉼표 기능이있는 마지막 문자 삭제 기능으로 나를 도울 수 있습니까?
'print PHP_VERSION;'을 사용하여 찾을 수 있습니다. 그리고 시도 할 수있는 ['fgetcsv' 매뉴얼 페이지] (http://php.net/fgetcsv)에 다른 구현이 있습니다. – mario
팁 주셔서 감사합니다, 그 : 5.2.6-1 + lenny9 – zsero