Тема: Социальная закладка ЖЖ (LiveJournal) - решение проблемы с кодировкой
Решал локальную задачу и подумал, что может быть решение пригодиться для реализации других подобных.
Я хотел сделать кнопку "Запостить в ЖЖ". Сам скрипт для этого очень простой:
<a target="_blank" rel="nofollow" href="http://www.livejournal.com/update.bml?event=<?=$tpl['post']['short-story']; ?>&subject=<?=$tpl['post']['title']; ?>" ><img src="/images/livejournal.png" title="Добавить в свой блог на livejournal.com"></a>Но проблема в том, что ЖЖ поддерживает только UTF-8.
Решил через конвертацию в отдельном шаблоне.
Создал шаблон uft с full.tpl
<?
$story=iconv("WINDOWS-1251","UTF-8", $tpl['post']['short-story']);
$title=iconv("WINDOWS-1251","UTF-8", $tpl['post']['title']);
?>В дефолтный шаблон написал:
<a target="_blank" rel="nofollow" href="<?=$tpl['post']['link']['home/utf.php/post']; ?>"><img src="/images/livejournal.png" title="Добавить в свой блог на livejournal.com"></a>В url.ini в конце дописал:
[home/utf.php]
post = "?id={id}"Создал файл utf.php с кодом:
<? include 'news/head.php'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?
$number = 3;
$sort = array('date', 'DESC');
$template = 'utf8';
include rootpath.'/show_news.php';
$URL = "http://www.livejournal.com/update.bml?subject=$title&event=$story";
header ("Location: $URL");
?>
</body>
</html>