Iconv突然回复问号,我做错了什么?

时间:2014-07-20 11:52:08

标签: php 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,直到问号出现,但没有成功。

问题:我做错了什么?

2 个答案:

答案 0 :(得分:1)

由于我将PHP更新为5.6,因此编码错误。此版本将默认字符集设置为UTF-8并通过HTTP-Header传输,即使您在HTML元标记中将字符集设置为ISO-8859-1。

考虑使用UTF-8或通过在脚本开头包含以下行来取代默认字符集:

ini_set(default_charset, "");

您也可以更改php.ini中的默认字符集。

答案 1 :(得分:0)

这对我有用

setlocale(LC_ALL, 'en_US.UTF-8');

尽管我的语言是捷克语。归功于Stone