programing

fgetcsv가 mac 형식의 csv 파일로 끝나는 줄을 읽지 못했는데, 더 나은 해결책이 있습니까?

testmans 2023. 11. 6. 21:42
반응형

fgetcsv가 mac 형식의 csv 파일로 끝나는 줄을 읽지 못했는데, 더 나은 해결책이 있습니까?

fgetcsv 기능이 있는 php를 사용하여 csv 파일을 파싱하고 있었습니다.모든 내용을 한 줄로 파싱했는데 나중에 csv에 carraige return이 "\r"로 포함되어 있습니다.봤습니다 - 전에 php bug로 보고되었습니다.pp 런타임 구성을 설정하여 이 문제를 해결했습니다.

ini_set("auto_detect_line_endings", "1");

더 이상의 해결책이 있습니까, 아니면 이것이 올바른 방법입니까?

감사해요.

세팅auto_detect_line_endingsphp 문서에 의해 명시적으로 권장됩니다.

그러나, 나는 당신이 왜 다음과 같이 경계선을 긋고자 하는지 이해할 수 없습니다.\r2010년에.가능하면 UNIX 스타일로 변환합니다.\n.

\r줄 끝은 CSV 파일로 저장할 때 Microsoft Excel에 의해 생성되므로 Excel 스프레드시트로 시작할 경우 이를 피할 수 있는 방법이 많지 않습니다.

사용.auto_detect_line_endings정상적으로 작동하거나 다음과 같이 줄 끝을 정규화할 수 있습니다.preg_replace("/\r\n|\n\r|\n|\r/", "\n", $subject);

언급URL : https://stackoverflow.com/questions/4541749/fgetcsv-fails-to-read-line-ending-in-mac-formatted-csv-file-any-better-solution

반응형