Конвертнуть из UTF8 -> cp1251 на PHP

J
На сайте с 20.05.2011
Offline
91
610

Все привет!

Задача: вывод последний сообщений с форума (кодировка utf8) на flexbb на главной страницы сайта (кодировка cp1251)

Вывод делается просто надо через инклюд подлючить файл http://www.careprost.ru/forums/extern.php

Но так весь сайт на cp1251 то получаеться корявый вывод.

Код на PHP который отвечает за вывод на главной:

foreach ($feed['items'] as $item)

{
if (utf8_strlen($item['title']) > FORUM_EXTERN_MAX_SUBJECT_LENGTH)
$subject_truncated = pun_htmlspecialchars(pun_trim(utf8_substr($item['title'], 0, (FORUM_EXTERN_MAX_SUBJECT_LENGTH - 5)))).' …';
else
$subject_truncated = pun_htmlspecialchars($item['title']);

echo '<li><a href="'.pun_htmlspecialchars($item['link']).'" title="'.pun_htmlspecialchars($item['title']).'">'.$subject_truncated.'</a></li>'."\n";
}

Как надо усовершенствовать код чтобы на выходе было cp1251?

Всем спасибо за советы и помощь!

S
На сайте с 13.10.2014
Offline
171
#1

воспользуйтесь iconv

Ш
На сайте с 29.12.2012
Offline
45
#2

echo iconv("utf-8", "windows-1251", "Пора переходить на cp-1251.");

S
На сайте с 02.05.2014
Offline
61
#3
johndig:
Как надо усовершенствовать код чтобы на выходе было cp1251?

А может пойти по другому пути.

И установить нужную вам кодировку при конненте с БД?

"set character_set_client='cp1251'"
"set character_set_results='cp1251'"
"set collation_connection='utf8_general_ci'"
J
На сайте с 20.05.2011
Offline
91
#4
Шварц:
echo iconv("utf-8", "windows-1251", "Пора переходить на cp-1251.");

Поставил:

	foreach ($feed['items'] as $item)

{
if (utf8_strlen($item['title']) > FORUM_EXTERN_MAX_SUBJECT_LENGTH)
$subject_truncated = pun_htmlspecialchars(pun_trim(utf8_substr($item['title'], 0, (FORUM_EXTERN_MAX_SUBJECT_LENGTH - 5)))).' …';
else
$subject_truncated = pun_htmlspecialchars($item['title']);

echo iconv("utf-8", "windows-1251", "<li><a href="'.pun_htmlspecialchars($item['link']).'" title="'.pun_htmlspecialchars($item['title']).'">'.$subject_truncated.'</a></li>."\n"");
}

Выдает ошибку:

DV
На сайте с 01.05.2010
Offline
644
#5

Переведите форум на utf-8 и не испытывайте дальнейших неудобств. Уже 6 лет как доступно.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
S
На сайте с 02.05.2014
Offline
61
#6
johndig:
Выдает ошибку:

Если решили пойти этим путем - то используйте одиночные ковычки

echo iconv("utf-8", "windows-1251",'<li><a href="'.pun_htmlspecialchars($item***91;'link'***93;).'" title="'.pun_htmlspecialchars($item***91;'title'***93;).'">'.$subject_truncated.'</a></li>."\n"');

Scogzhe
На сайте с 27.04.2015
Offline
33
#7

А все странички просто перевести можно попробовать.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий