2011-12-17 9 views
0

cURL을 사용하면 파일 이름에 UTF-8 문자가있는 파일을 저장하고 있습니다. 예를 들어 :PHP 인코딩 - UTF-8

testšć.docx는

내가 mb_detect_encoding 사용() 그것은 나에게 ASCII를 반환했습니다. 그래서 iconv로 ASCII에서 UTF-8로 그리고 UTF-8에서 UTF-8로 변환하려고했습니다. 어느 옵션도 작동하지 않았습니다.

누구나 내가 UTF-8 파일 이름을 유지할 수있는 방법을 제안 했습니까?

건배!

+0

PHP 파일이 d 데이터의 출력을하고 utf8_encode를 사용하여 적절한 인코딩으로 변환하려고하면 UTF8을 사용하십시오 (http://php.net/manual/en/function.utf8-encode.php) –

+0

'mb_detect_encoding'을 호출합니다. 정확히'on * mb_detect_encoding' *을 무엇이라고 부릅니까? 또한'mb_detect_encoding'은 실제로 정확한 과학이 아니므로 다루는 인코딩이 무엇인지 * 안다면 거의 필요하지 않습니다. – deceze

+0

@Dany Khalife 웹 사이트에서 UTF-8 문자가있는 파일 이름을 가져옵니다. 이렇게 : $ h1 = $ html-> find ('h1', 0) -> 일반 텍스트; 난 그냥 file_put_contents 사용하지만 제대로 저장하지 않습니다. deceze 인코딩 된 텍스트가 인코딩 된 것을 확인하기 위해 한 번 사용했습니다. – user1102979

답변

1

파일 이름에 UTF-8을 사용하는 파일을 유지하려면 파일 시스템 (및 운영 체제)이 UTF-8로 인코딩 된 파일 이름을 지원해야합니다. 둘 중 하나라도 지원하지 않으면 가장 좋은 옵션은 알려진 음역으로 변환하거나 변환 할 수없는 문자를 삭제 (대체)하는 것입니다.

+0

UTF8을 지원하지 않는 FS 또는 OS를 알고 싶습니다. –

+0

[여기] (http : //en.wikipedia.org/wiki/Comparison_of_file_systems#Limits) 위키피디아의 파일 시스템 제한 목록입니다. – jmkeyes

+0

요컨대, 많지는 않습니다. 나는 완전히 당신의 질문을 오해 할 수 있습니다. – jmkeyes

0

MySQL과 유사하게, MySQL 데이터가 UTF8로 인코딩 될 때 PHP는 UTF8 "통신"을 통해 읽어야합니다. HTML 데이터가 UTF8이기 때문에 문제가 있다고 생각합니다. 메신저 올바른) 당신이 UTF8로 읽는되지 않은 경우 코드를 알고

당신의 컬 설정이 옵션을 추가하는 시도 : 이것은 당신이 무엇을 놓치고 있는지 경우 나도 몰라

curl_setopt($ch, CURLOPT_ENCODING, "UTF-8"); 

을하지만, 내게 알려주지 않으면 내 대답을 업데이트 할 것입니다 ...