MainRadiotalkCustom
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

SAM Broadcast v4.9.8 Pro + IceCast v.2 + cp1251

 

11
trianglesis @trianglesis
Вкратце:
SAM - Windows Server 2003
IceCast - Windows Server 2003 (same)
MySQL - WinServer 2008R2

Необходимо заставить этот механизм корректно отображать теги на выходе на сайте заказов

Что имеем:
- Конфиги Айса включают строку о cp1251
- Кодировка БД дефоулт (были эксперименты, но увы, успехом не увенчались)
- Теги нормально отображаются в веб версии проигрывателя:
Например:

Title: Відривайся
Artist: ТНМК
Album: Сила
Duration: 21:05


Таким образом они отображаются на веб странице в: информации о файле/сейчас играет/база заказов
Title³äðèâàéñÿ
ArtistÒÍÌÊ
AlbumÑèëà
Duration21:05

То есть, в 90% случаев, славянские символы корректно отображаются в самой программе, плейлистах и т.п. через айскаст вещаются правильно, так как и плеер видит все буквы, проблема остается только с веб разверткой.
Кто стакивался, расскажите как решили:
- добавление в базу музыки (веб) русских букв А-Я
- корректное отображение "Сейчас играет" на том же веб сайте СЕМа

Перелопатил гугл, везде проблемы только с айсом или прогой, у меня с этим все ок, интересует только этот вот веб вывод.

Вебморда здесь:
**********
Для ознакомления.
П.с. если вы зашли а там нет вещания или что-то сломалось кроме кодировки, можете не говорить мне об этом, это могут быть мои изменения.



Забыл добавить, есть такой виджет плеера (на базе винд-медиа) так вон он, например, корректно отображает даже "Недавно проигранные" (плеер можно открыть нажав на кнопку Слушать)
Вот так:
Recently played
Era - Don't You Forget (Vocals By Lena Jinnegren)
ACDC - For Those About To Rock - 09 - Night Of The Long Knives
ТНМК - Відривайся

Отредактировано trianglesis - 12.11.2013
313
Krueger @Krueger
Надо делать правку в файле class.song.php ищите места где выводятся данные и перекодируйте, что-то вроде этого: iconv('windows-1251', 'utf-8', $song);
Чтоб поиск работал по русским исполнителям там чуток посложнее

11
trianglesis @trianglesis
Krueger пишет:

Надо делать правку в файле class.song.php ищите места где выводятся данные и перекодируйте, что-то вроде этого: iconv('windows-1251', 'utf-8', $song);
Чтоб поиск работал по русским исполнителям там чуток посложнее

Не вижу кнопки "Спасибо" поэтому скажу текстуально.

Спасибо, попробую.

С базой я думаю придется собрать А-Я файлы вручную по шаблонам английских букв.

11
trianglesis @trianglesis
РЕШЕНО:
Добавляете в хед страницы простой код с указанием кодировки этой страницы.
Все навигационные надписи будут отображаться на русском.
Осталось проверить как названия песен пойдут.

<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/></head>

11
trianglesis @trianglesis
РЕШЕНО в2:
Ниже привожу пример того, как стоит прописывать iconv параметр в файле display.songinfo.php - что позволяет перевести кодировку в окне "Информация о песне"

<!-- EXAMPLE -->
##Это должно быть в шапке всех веб страниц, в теле которых есть кириллика ##

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

## Здесь начинается магия ПХП ##

<dt>Title</dt>
<dd><?php
$string = "$song->title"; ## Старое значение: echo $song->title; ##
$string = iconv('utf-8', 'cp1252', $string);
$string = iconv('cp1251', 'utf-8', $string);
echo $string;
?></dd>
<dt>Artist</dt>
<dd><a href="<?php echo $song->website; ?>" target="_blank" title="Click for more Artist info">
<?php
$string = "$song->artist"; ## Старое значение: echo $song->artist; ##
$string = iconv('utf-8', 'cp1252', $string);
$string = iconv('cp1251', 'utf-8', $string);
echo $string;
?></a></dd>
<dt>Album</dt>
<dd><a href="<?php echo $song->buycd; ?>" target="_blank" title="Click for more Album info">
<?php
$string = "$song->album"; ## Старое значение: echo $song->album; ##
$string = iconv('utf-8', 'cp1252', $string);
$string = iconv('cp1251', 'utf-8', $string);
echo $string;
?></a></dd>