php
  • iconv
  • 2014-11-14 3 views 0 likes 
    0

    내 텍스트 파일에 "###"문자열이 포함되어 있습니다. 해당 문자열을 변환하는 내 PHP의 배치는 다음과 같이 간다 : 나는이 코드를 실행하면php, iconv() 함수 오류 메시지

    <?php 
    $text = iconv("UTF-8","ISO-8859-1", "ãéðä"); 
    echo $text; 
    ?> 
    

    는 내가 원하는 변환 된 텍스트를 얻을.

    <?php 
    $myFile = 'test.txt'; 
    $myHandle = fopen($myFile,'r'); 
    $myText = fread($myHandle, filesize($myFile)); 
    $ridComma = explode(',',$myText); 
    foreach($ridComma as $item) 
    { 
    $text = iconv("UTF-8","ISO-8859-1", $item); 
    } 
    fclose($myHandle); 
    ?> 
    

    나는 다음과 같은 오류 얻을이 시간 :

    Notice: iconv(): Detected an illegal character in input string in C:\xampp\htdocs\test\test.php on line 8 
    

    같은 변환 기능을 가진를 내가 변환에서 얻을 내가 더 후 하나 개의 문자열이 경우에 , 나는 다음과 같은 코드를 사용 하나의 일괄 처리 및 다른 하나의 오류! 그 이유를 설명 할 사람이 있습니까? 감사합니다. 당신은

    $ 텍스트를 사용할 수 있습니다

    +1

    'test.txt'파일이 ISO-8859-1 인코딩으로 저장되었는지 확실합니까? – Dai

    +0

    코드에 오류가 없습니다. 파일에 잘못된 입력이 있습니다. Artjoman에서 대답 사용 – newman

    답변

    1

    =의 iconv ('ISO-8859-1', $ 항목을 'UTF-8 // IGNORE');

    잘못된 문자는 무시하고 제거합니다.

    +0

    감사합니다, 이번엔 출력 eas : 'ÿþãéðä; – deotpit

    +0

    @Dai, "ansi", "UTF-8", "유니 코드", "유니 코드 빅 엔디안"으로 저장되었습니다. 나는 오류를 얻지 못했지만 생산량은 여전히 ​​gibrish였다. – deotpit

    +1

    'mb_convert_encoding' 함수를 사용하는 또 다른 옵션이 있습니다. $ utf_8 = mb_convert_encoding ($ text, "UTF-8", "windows-1251");'mb_string 확장을 설치 한 경우 – Artjoman

    관련 문제