2014-07-20 1 views
2

어제 완벽하게 작동 한 iconv 코드입니다. 오늘날 그것은 번역되어야 할 부분에 갑자기 그 물음표를 보여줍니다 ().Iconv가 갑자기 물음표를 반환합니다. 내가 뭘 잘못하고있는 걸까요?

setlocale(LC_ALL, 'nl_NL'); 
    $title = str_replace(' & ', ' & ', $feed[$x]['title']); 
    $title = (iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE', $title)); 
    $link = $feed[$x]['link']; 
    $description = $feed[$x]['desc']; 
    $description = (iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE', $description)); 
    $datedag = date('d', strtotime($feed[$x]['date'])); 
    $datemaand = date('F', strtotime($feed[$x]['date'])); 
    $datejaar = date('Y', strtotime($feed[$x]['date'])); 
    echo '<div style="border:1px solid black;background-color:#d90000;"><p><strong><a href="'.$link.'" title="'.$title.'" target="_blank">'.$title.'</a></strong><br />'; 
    echo '<small><em>Geplaatst op '.$datedag.' '.$datemaand.', '.$datejaar.'</em></small></p>'; 
    echo '<p>'.$description.'</p></div><br />'; 

이제는 물음표가 나타날 때까지 setlocale을 추가하지는 않았지만 성공이 없었습니다.

질문 : 내가 뭘 잘못하고 있니?

+0

인코딩 문제가있는 것 같습니다. 'ISO-8859-1'에 갈 것 같습니다. 아마도 귀하의 페이지에 'UTF-8'이라는 헤더가 있습니까? – Machavity

+0

정말 잘 모르겠지만 어제는 잘 돌아 갔고 코드를 변경하지 않았습니다. –

+0

같은 문제는 여기에 있습니다. –

답변

1

필자는 PHP를 5.6으로 업데이트 한 이후로 인코딩이 잘못되었다고 생각합니다. 이 버전은 HTML 메타 태그에서 charset을 ISO-8859-1로 설정하더라도 기본 charset을 UTF-8로 설정하고 HTTP-Header를 통해이를 전송합니다.

전혀 UTF-8 사용을 고려하거나 스크립트의 시작 부분에 다음 줄을 포함하여 기본 캐릭터 세트를 기각 :

ini_set(default_charset, ""); 

당신은 또한 당신의 php.ini의 디폴트 캐릭터 세트를 변경할 수 있습니다.

관련 문제