0

使用 Zend _gdata。由于某种原因,最近 $when 字符串不再是 utf-8。我需要将其转换为 utf-8。所有其他领域都工作正常。

   foreach ($feed as $event) { //iterating through all events

      $contentText = stripslashes($event->content->text); //striping any escape character
      $contentText = preg_replace('/\<br \/\>[\n\t\s]{1,}\<br \/\>/','<br />',stripslashes($event->content->text)); //replacing multiple breaks with a single break
      $contentText = explode('<br />',$contentText); //splitting data by break tag

      $eventData = filterEventDetails($contentText);
      $when = $eventData['when'];
      $where = $eventData['where'];
      $duration = $eventData['duration'];
      $title = stripslashes($event->title);
      echo '<li class="pastShows">' . $when . " - " . $title . ", " . $where . '</li>';
   }

我如何制作$whenutf-8?谢谢!

4

2 回答 2

4

根据该字符串使用的编码,您应该能够使用以下函数之一将其编码为 UTF-8:


例如 :

$when = utf8_encode($eventData['when']);

或者 :

$when = iconv('ISO-8859-1', 'UTF-8', $eventData['when']);
于 2011-03-19T16:33:22.557 回答
1

如果字符串是 Latin1,你可以按照 Pascal 的建议去做。

否则,您需要找出它是哪种编码。因此检查您的 php.ini 设置,或者您可以尝试通过 mb_detect_encoding 检测它(注意它不是失败证明)

于 2011-03-19T16:46:54.667 回答