다른 소스 CSV ('SJIS'/ SHIFT-JIS로 인코딩 됨)에서 여러 개의 CSV를 만드는 프로그램을 만들었습니다.메모장에서 PHP를 사용하는 UTF8 인코딩 어려움 ++
- 것은 자신의 적절한 정보
- 인코딩 UTF-8 문자열로 출력의 내용을 CSV의
- 말했다에 기입 문자열을 개최하는 문자열을 만들기 : 여기를 만드는 오전하는 과정입니다 SJIS에서 mb_convert_encoding()을 사용하여 코드 :
$ contents2 = mb_convert_encoding ($ contents, "UTF-8", "SJIS"); - 는 PHP의 제공 라이브러리 방법을 사용하여 우편 아카이브를 생성하고 addFromString() 코드를 사용하여 해당 문자열을 내가 원하는 파일을 추가합니다
- 파일을 원하는 위치에 저장하라는 대화 상자를 표시합니다. 코드 : $ zipContents = file_get_contents ($ zipFileName); header ('Content-Type : application/zip'); header ("Content-Disposition : attachment; filename = inflow.zip"); 헤더 ("Pragma : no-cache"); header ("Expires : 0"); echo $ zipContents;
$ zipFileName = "output.zip을";
$zip = new ZipArchive;
if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE){
$zip->addFromString('customer.csv', $contents2);
...do for the other files
$zip->close();
}
else{
echo 'Failed! File not created!';
}
이제 내 문제는 다음과 같습니다. zip 파일에서 만든 파일은 메모장 + +에서 열면 "UTF-8 BOM"으로 인코딩됩니다. 그러나, 나는이 파일들이 단지 평범한 "UTF-8"이어야한다고 요구한다. 이 파일을 업로드하는 데 사용하는 인벤토리 프로그램은 나와 다른 이유로 인해 "BOM없이 UTF-8"로 인코딩 된 CSV에 적절한 문자를 표시하지 않습니다. 수동으로 파일을 열고 "UTF-8"로 다시 인코딩 한 다음 저장하면이 인벤토리 프로그램에 올바른 문자를 표시 할 수 있습니다.
사람들이 BOM없이 인코딩 된 UTF-8 파일을 만들려고하는이 문제에 대해 이야기하는 많은 기사를 읽었습니다. 그러나 나의 상황은 이것의 정반대이다. PHP에 쉬운 해결책이 있다면 도움을 환영하는 것 이상! 읽어 주셔서 감사합니다!!
나는 그것을 얻지 못합니다. 파일을 SJIS로 변환 중입니까? – deceze