Задать вопрос
@IgorRastarov

Почему iconv работает неправильно?

Всем привет. Вот кусок кода плагина на modx.
foreach ($rows as $row) {
		$row[0] = iconv('CP1251','UTF-8',$row[0]);
		$btn = "<a class='button show-form' data-flat='{$row[0]}:{$row[2]}:".number_format((int)$row[6], 0, ',', ' ')." руб.:".(!empty($row[7])?number_format($row[7], 0, ',', ' ').' руб.':"-").">Текст</a>";
		$out .= "<tr>";
		$out .= "<td>{$row[0]}</td>";
		$out .= "<td>{$row[1]}</td>";
		$out .= "<td>{$row[2]}</td>";
		$out .= "<td>{$row[3]}</td>";
		$out .= "<td>{$row[4]}</td>";
		$out .= "<td>{$row[5]}</td>";
		$out .= "<td class='nowrap'><span class='".(!empty($row[7])?'strikethrough': '')."'>".number_format((int)$row[6], 0, ',', ' ')." руб.</span></td>";
		$out .= "<td class='nowrap action-price'>".(!empty($row[7])?number_format($row[7], 0, ',', ' ').' руб.': "")."</td>";
		$out .= "<td>".(!empty($row[8])?iconv('CP1251','UTF-8',$row[8]): $btn)."</td>";
		$out .= "</tr>";
		//echo "<pre>";print_r(iconv('CP1251','UTF-8',$row[8])); echo "</pre>";

}

Для $row[8] не срабатывает iconv. Срабатывает Только если в csv файле перед нужным Текстом поставить цифру.
  • Вопрос задан
  • 224 просмотра
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
@BorisKorobkov Куратор тега PHP
Web developer
Значит, передаете текст в одной кодировке, а указываете другую ('CP1251').
Для проверки выложите куда-нибудь php-ФАЙЛ test-case c ОДНОЙ строчкой
<?= iconv(...) ?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы