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

Проблемы с Кириллицей. Icecast Trunk+SAM

 

15
lamer @lamer
Всем доброй ночи(дня, утра, и т.д.)

Начну с того, что я ламер :)
Но у меня есть радио.

И вот на этом радио, в статистике, все отлично отображается и передается, но не кириллицей.
То, что должно отображаться кириллицей попросту не отображается.
Скажем, у меня стоит песня. Исполнитель на латинице, название на кириллице. Видно только первое.
А в случае, если и то и другое на кириллице, то в строке с $current_song стоят данные трэка, который крутился до этого(на латинице, соответственно)

Сервер debian, кодировка сайта - utf-8 да и самой страницы со статистикой так же, БД тоже на utf-8. Тексты скриптов все utf-8. К слову, на странице статуса Icecast отображается абсолютно так же, как на странице со статистикой.

SAM - понятия не имею в какой кодировке передает, и настроить это не знаю как.

Поиск честно юзал. То ли не так что-то делал, то ли оно не помогло.
Очень прошу помощи.

Отредактировано lamer - 07.04.2012
6245
Тарас @tarasian666
поиск по форуму <charset>cp1251</charset>

15
lamer @lamer
На эту тему я уже читал. Но если я сменю кодировку маунта на cp1251, не будет ли это означать появление краказябр вместо русских символов? Ведь все остальное у меня на utf-8. Скриптовые страницы и сами скрипты осуществляют рекодинг на utf-8.

6245
Тарас @tarasian666
это не для скриптов кодировка а для тегов в треках, для распознавания, icecast ее будет все ровно в utf8 выводить

15
lamer @lamer
Еще вопрос. Нубский.
Для Icecast trunk конфиг - это вот это: user/local/etc/icecast.xml ?

15
lamer @lamer
в user/local/etc/icecast.xml

Добавил блоки
<mount>
<mount-name>/1</mount-name>
<charset>cp1251</charset>
<password>1</password>
</mount>

<mount>
<mount-name>/2</mount-name>
<charset>cp1251</charset>
<password>2</password>
</mount>

Толку ноль - как не было кириллических символов, так и нету их.
Я прям заклинаю, ребята, помогите -_-

Отредактировано lamer - 26.04.2012
6245
Тарас @tarasian666
хоть крякозябры показывает?

15
lamer @lamer
Нет, пустота, или название предыдущей песни на латинице. Но есть нюанс. Скачал песенку, засунул в СЭМ - она в СЭМе кракозябрами, а в статистике - о чудо - Русскими Буквами!

Отредактировано lamer - 26.04.2012
6245
Тарас @tarasian666
значит кодировка тегов в utf-8

БД тоже на utf-8

сэму нужна кодировка latin1_swedish_ci в базе

15
lamer @lamer
Это получится, что сайт с базой конвертировать в latin придется?

6245
Тарас @tarasian666
а сайт зачем? на сайте скриптом перкодировать

15
lamer @lamer
У меня есть скрипт, нарыл, но как полный лох в пхп, я не очень смекаю где надо сменить чего, очень прошу прощения за такую наглость, расскажите мне, пожалуйста, как поменять надо? =(

<?php
// Database info

include("conf_global.php");

$dbhost = $INFO['sql_host'];
$dbuser = $INFO['sql_user'];
$dbpass = $INFO['sql_pass'];
$dbname = $INFO['sql_database'];

//---------------

header('Content-type: text/plain');

$dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() );
$db = mysql_select_db($dbname) or die( mysql_error() );

$sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";
$result = mysql_query($sql) or die( mysql_error() );
print "Database changed to UTF-8.\n";

$sql = 'SHOW TABLES';
$result = mysql_query($sql) or die( mysql_error() );

while ( $row = mysql_fetch_row($result) )
{
$table = mysql_real_escape_string($row[0]);
$sql = "ALTER TABLE $table DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
mysql_query($sql) or die( mysql_error() );
print "$table changed to UTF-8.\n";
}

mysql_close($dbconn);
?>

Отредактировано lamer - 26.04.2012
15
lamer @lamer
Апну, актуально.

6245
Тарас @tarasian666
скрипт не поможет, поменять кодировку через phpmyadmin, почистить таблицу, и наново заполнить сэмом

15
lamer @lamer
Ага, понял! Но я не знаю, в какую базу пишет СЭМ... и можно ли по отдельности базы в phpmyadmin перегонять в определенные кодировки.

15
lamer @lamer
Поднатаскался по матчасти.
В общем как оно:
SAM использует FireBird на локали, а она уже на латине. Посему проблем ведь не должно возникнуть, получается?
А песни на кирилице один хрен не отображаются...

Проблема с нон-стопом так же не решена - там тоже кириллические название не отображаются, хотя charset для этого маунта в конфиге обозначен. Icecast Trunk+Ices стоит.

Отредактировано lamer - 01.05.2012
7
Squall @Squall
у меня кириллица заработала только на icecast kh32. А вот ices так и не передает теги правильно не русские не англ.

6245
Тарас @tarasian666
в FireBird также есть проблема с кодировкой но она там не исправима

А вот ices так и не передает теги правильно не русские не англ.

возможно не хватает библиотеки чтения тегов, а лучше использовать для этого perl

15
lamer @lamer
Соответственно, надо устанавливать SAM заточенный под MySQL?
В другом просто проблемы не наблюдается...

Хотя как взглянуть - нон-стоп не использует локальной БД, Icecast+ices cтоят на удаленном сервере вообще.

7
Squall @Squall
tarasian666 пишет:


А вот ices так и не передает теги правильно не русские не англ.
возможно не хватает библиотеки чтения тегов, а лучше использовать для этого perl


решил проблему установкой Ices-cc