어제 PHP를 사용하여 csv 파일을 처리하는 작은 프로그램을 작성했습니다.
설치한 후에는 정상적으로 처리되었습니다. 밤에 238 서버를 접속해보니 프로그램이 제대로 처리되지 않아서 일부 데이터가 누락된 것을 발견했습니다.
Exception을 처리한 결과 누락된 데이터가 모두 중국어로 되어 있는 것으로 확인되었습니다.
처음에는 파일이나 문자열 인코딩 문제인 줄 알았어요
notepad++를 사용하여 csv 파일을 utf로 변환했는데도 문제가 계속 발생합니다. -8
그럼
<span style="font-size:14px;">$date = mb_detect_encoding($content , array('UTF-8','GBK','LATIN1','BIG5')) ; $content = iconv($date, "utf-8", $content);</span>
그럼 바이두
을 찾아 csv 파일을 처리하기 전에 다음 코드 줄을 추가하세요. setlocale(LC_ALL,NULL)
setlocale ( ) 함수는 지역정보(지역정보)를 설정합니다.
지역정보란 해당 지역에 대한 언어, 통화, 시간 및 기타 정보를 의미합니다.
이 함수는 현재 로캘 설정을 반환하고, 실패하면 false를 반환합니다.
참고: setlocale() 함수는 현재 스크립트의 로케일 정보만 변경합니다.
팁: setlocale(LC_ALL,NULL)을 통해 지역 정보를 시스템 기본값으로 설정할 수 있습니다.
앞으로 이런 문제가 발생하지 않도록 여기에 기록하세요
위 내용은 관련 내용을 포함하여 PHP의 CSV---중국어 예외 처리 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.