1

Тема: Ошибка и проблема кодировок!

Кто может сказать что это за ошибка??

Это висит постоянно, даже когда нету соединения с БД (если удалить к примеру)

Strict Standards: Declaration of metabase_mysql_class::AutoCommitTransactions() should be compatible with that of metabase_database_class::AutoCommitTransactions() in /opt/lampp/htdocs/sam/common/metabase/metabase_mysql.php on line 14

Эти пояляються уже с работющей БД и пишуться прямо по середине страници.

Strict Standards: Resource ID#16 used as offset, casting to integer (16) in /opt/lampp/htdocs/ra/common/metabase/metabase_mysql.php on line 133

И такое

Deprecated: Function eregi_replace() is deprecated in /opt/lampp/htdocs/ra/common/form.php on line 90
(90,91,92)


Раньше работал под Win сейчас решил поставить apach+php+mysql на linux соответственно конект идет туда.
Есть так же проблема подировки.. если ставлю кодировку БД ср1251, то песни  семе просто не заливаються. При добавлении файла нечего не происходит.
Поставил latin1_general_ci в phpmyadmin руские буквы не отображаються, но в плеере и насайте вроде бы нормально.

2

Re: Ошибка и проблема кодировок!

отключите вывод ошибок в php.ini

3

Re: Ошибка и проблема кодировок!

В пхп.ини у меня вроде бы отключено ;error_reporting (0);

Правда есть еще такое

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED

Как правильно отключить вывод, подскажите пожалуйста.

4

Re: Ошибка и проблема кодировок!

display_errors = Off

5

Re: Ошибка и проблема кодировок!

пишет tarasian666:

display_errors = Off

Спасибо smile оказалось так банально.
Если не сложно, можете пояснить почему такое происходит? получаеться что код идет с ошибками или как (информация чисто для познания)))

Проблема с кодировками так и осталась.. поставил latin1_general_ci знаки вопроса на сайте наруские песни.
UTF8 тоже самое, а если ставить cp1251 , то сем просто не хочетья заливать песни в базу..

Отредактировано Slash (02-02-2010 16:19:54)

6

Re: Ошибка и проблема кодировок!

про ошибки - надо смотреть что именно в тех "линиях" ему не нравится
если сайт не UTF-8 то надо перекодировать скриптом

7

Re: Ошибка и проблема кодировок!

пишет tarasian666:

если сайт не UTF-8 то надо перекодировать скриптом

Сайт по идее не УТФ. Стандартный.. тот что идет вместе с Семом и стандартный и тот что русифицированный (Deman version) оба показывают на руские буквы знаки вопроса.
Дело в том что база создана с кодировкой латин1. так как пролистав гугл везде пишут что надо ставить имено эту базу для решения данной проблемы. При установке кодировки ср1251 с которой по идее нету не каких проблем (на винде точно не было), песни сем просто не заливает.

Скрипт куда? для изменения БД или сайта??

8

Re: Ошибка и проблема кодировок!

для изменения сайта, или сайт в другой кодировке зделать

9

Re: Ошибка и проблема кодировок!

пишет tarasian666:

для изменения сайта, или сайт в другой кодировке зделать

Не совсем понял.
Дело в том что сайт отображает все нормально, кроме песен с БД, которые в БД хранятся со знаками вопроса.
Разве это проблема сайта , а не БД???

И какой скрипт если что? или как перевести сайт в другую кодировку?

10

Re: Ошибка и проблема кодировок!

все страницы сделать в другой кодировке, в той что и БД.
или строчки с песнями на лету перекодировать в ту кодировку в которой страница
почитайте о функции iconv

Отредактировано tarasian666 (02-02-2010 20:06:10)

11

Re: Ошибка и проблема кодировок!

Полазил, почитал.
Большей частью прошарил тут, но и гуглом прошелся.
Не совсем понял. Поменял кодировку БД на UTF-8
В playing.php вставил
echo iconv('UTF-8','CP1251',$text); не помогло. Руский не видит.

Я не совсем разбираюсь в данном ( возможно проблема в $text , на данной странице оно не описано..

Отредактировано Slash (02-02-2010 20:55:09)

12

Re: Ошибка и проблема кодировок!

Вопрос был решен.
Я правда не знаю на сколько правильно, но все же теперь отображаеться правильно.

В раздел [mysqld] добавить: (если у кого такая же проблема, файл my.cnf)

default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake

Две последние строки принудительно устанавливают кодировку cp1251 для всех запросов. И думаю это помогло.
Так как при обычном создании БД запросом CREATE DATABASE `название` DEFAULT CHARACTER SET ср1251 COLLATE ср1251_general_ci; музыка не заливалась в базу.

При редактировании конфигурационного файла все стало на место.

ПС Спасибо tarasian666 за отзычиость smile)

13

Re: Ошибка и проблема кодировок!

хм.. тоже вариант, но поскольку ненавижу кодировку cp1251 то такого не делал с базой ))

14

Re: Ошибка и проблема кодировок!

пишет tarasian666:

хм.. тоже вариант, но поскольку ненавижу кодировку cp1251 то такого не делал с базой ))

ну за не умением правильно использовать iconv пришлось юзать данный вариант.

15

Re: Ошибка и проблема кодировок!

Кстати появилась проблема описанная в этой теме - http://radiotalk.ru/viewtopic.php?pid=11170
Решить ее так и не удалось (скорее из-за кривизны рук).
Вот привожу код вывода стат.

<?php

echo iconv ('UTF-8','CP-1251',$text)

///////////////////////////////////////////////////
//icecast2 status refined v1.1 xsl refined
// Author: that dude over there at casterclub.com
// Bugs: post in the forums at casterclub
//////////////////////////////////////////////////
//start the madness already
//////////////////////////////////////////////////
//start the configurations
$ip = "мой ип";               //your server address in the form of mydomain.com or 192.161.1.1
$port = "8000";             //the port of your server
$ice2_station = "Radio";     // your station or stream name






////////////////start the parsin action\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//opening socket
$fp = fsockopen("$ip", $port, &$errno, &$errstr, 30); //open connection
if(!$fp) {
    $success=2;  //set if no connection



//edit html to fit your stations site, this display is for offline status
echo'<table>
     <tr>
        <td width="100%" colspan="2">
        <img border="0" src="images/offline.gif" width="22" height="22">
        <b><font face="Arial" size="2" color="#FF0000">'.$ice2_station.' в данный момент не работает</font></b></td>
      </tr>
</table>';
}




if($success!=2){ //if connection
 fputs($fp,"GET /status2.xsl HTTP/1.0\r\nUser-Agent: Icecast2 XSL Parser (Mozilla Compatible)\r\n\r\n"); //get status2.xsl
 while(!feof($fp)) {
  $page .= fgets($fp, 1000);
 }
 fclose($fp); //close connection
 $page = ereg_replace(".*<pre>", "", $page); //extract data
 $page = ereg_replace("</pre>.*", ",", $page); //extract data

 $numbers = explode(",",$page); //bomb it and extract data
 $mount = $numbers[0];
 $connections = $numbers[1];
 $stream_n = $numbers[2];
 $listeners = $numbers[3];
 $desc = $numbers[4];
 $cur_song = $numbers[5];
 $str_url = $numbers[6];
 $client_info = $numbers[7];
 $test1 = $numbers[8];   //set vars that where empty and still dont know what the heck those values are ;-)
 $test2 = $numbers[9];  //set vars that where empty and still dont know what the heck those values are ;-)
 $test3 = $numbers[10];   //set vars that where empty and still dont know what the heck those values are ;-)
 $mount = $numbers[11];
 $connections = $numbers[12];
 $station =$numbers[13];
 $listeners = $numbers[14];
 $description = $numbers[15];
 $cur_song = $numbers[16];
 $www_url  = $numbers[17];


//edit html to fit your stations site, this display is for online status
echo'
<table width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
 <td width="100%"><b><font face="Arial" size="2">
<img border="0" src="images/ice2_status/icecast.gif" width="22" height="22">
        Powered By Icecast2</font></b></td>
      </tr>
      <tr>
        <td width="100%"><b><font face="Arial" size="1"><a href="'.$www_url.'">
        '.$station.'</a> - '.$description.'</font></b></td>
      </tr>
      <tr>
        <td width="100%"><b><font face="Arial" size="1">
        <img border="0" src="images/ice2_status/listeners.gif" width="22" height="18">
        Listeners: '.$listeners.'</font></b></td>
      </tr>
      <tr>
        <td width="100%"><b><font face="Arial" size="1">
        <img border="0" src="images/ice2_status/tunes.gif" width="21" height="21">
        Now Playing: '.$cur_song.'</font></b></td>
      </tr>
      <tr>
        <td width="100%"><b><font face="Arial" size="2">
        <img border="0" src="images/ice2_status/play.gif" width="15" height="15">
        <a target="_blank" href="http://'.$ip.':'.$port.''.$mount.'.m3u">Listen Now</a></font></b></td>
      </tr>
           </table>';
}


?>

iconv заюзал вначале.

В конфиге айскаста (icecast.xml) добавилстрочку <charset>1251</charset>

Что не так?
ПС Опять же мои познания в данном разделе на низком уровне. smile

16

Re: Ошибка и проблема кодировок!

пишет Slash:

Что не так?

учить php
править руки ))
второй раз вижу такой бред и дальше с него ржу )))
во порвых синтаксис - нет ; в конце ряда
ну и дальше...
echo iconv ('UTF-8','CP-1251',$text);
echo - команда вывода строки, в даном случае вывод перекодированого текста переменной $text
по скольку переменная не задана то ни чего и не будет выводить
а вам надо перекодировать ту переменную в которой есть название песни и тп

Отредактировано tarasian666 (04-02-2010 01:01:49)

17

Re: Ошибка и проблема кодировок!

Ну я как бы согласен что в этом я полный ноль.
Из прочитаного я понял что нужно сделать так?

<?php

echo iconv ('UTF-8','CP-1251',$cur_song);

///////////////////////////////////////////////////
//icecast2 status refined v1.1 xsl refined
// Author: that dude over there at casterclub.com
// Bugs: post in the forums at casterclub
//////////////////////////////////////////////////
//start the madness already
//////////////////////////////////////////////////
//start the configurations
$ip = "мой ип";               //your server address in the form of mydomain.com or 192.161.1.1
$port = "8000";             //the port of your server
$ice2_station = "Radio";     // your station or stream name

18

Re: Ошибка и проблема кодировок!

нет не совсем

<?php

///////////////////////////////////////////////////
//icecast2 status refined v1.1 xsl refined
// Author: that dude over there at casterclub.com
// Bugs: post in the forums at casterclub
//////////////////////////////////////////////////
//start the madness already
//////////////////////////////////////////////////
//start the configurations
$ip = "мой ип";               //your server address in the form of mydomain.com or 192.161.1.1
$port = "8000";             //the port of your server
$ice2_station = "Radio";     // your station or stream name






////////////////start the parsin action\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//opening socket
$fp = fsockopen("$ip", $port, &$errno, &$errstr, 30); //open connection
if(!$fp) {
    $success=2;  //set if no connection



//edit html to fit your stations site, this display is for offline status
echo'<table>
     <tr>
        <td width="100%" colspan="2">
        <img border="0" src="images/offline.gif" width="22" height="22">
        <b><font face="Arial" size="2" color="#FF0000">'.$ice2_station.' в данный момент не работает</font></b></td>
      </tr>
</table>';
}




if($success!=2){ //if connection
 fputs($fp,"GET /status2.xsl HTTP/1.0\r\nUser-Agent: Icecast2 XSL Parser (Mozilla Compatible)\r\n\r\n"); //get status2.xsl
 while(!feof($fp)) {
  $page .= fgets($fp, 1000);
 }
 fclose($fp); //close connection
 $page = ereg_replace(".*<pre>", "", $page); //extract data
 $page = ereg_replace("</pre>.*", ",", $page); //extract data

 $numbers = explode(",",$page); //bomb it and extract data
 $mount = $numbers[0];
 $connections = $numbers[1];
 $stream_n = $numbers[2];
 $listeners = $numbers[3];
 $desc = $numbers[4];
 $cur_song = $numbers[5];
 $str_url = $numbers[6];
 $client_info = $numbers[7];
 $test1 = $numbers[8];   //set vars that where empty and still dont know what the heck those values are ;-)
 $test2 = $numbers[9];  //set vars that where empty and still dont know what the heck those values are ;-)
 $test3 = $numbers[10];   //set vars that where empty and still dont know what the heck those values are ;-)
 $mount = $numbers[11];
 $connections = $numbers[12];
 $station =$numbers[13];
 $listeners = $numbers[14];
 $description = $numbers[15];
 $cur_song = iconv ('UTF-8','CP-1251',$numbers[16]);
 $www_url  = $numbers[17];


//edit html to fit your stations site, this display is for online status
echo'
<table width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
 <td width="100%"><b><font face="Arial" size="2">
<img border="0" src="images/ice2_status/icecast.gif" width="22" height="22">
        Powered By Icecast2</font></b></td>
      </tr>
      <tr>
        <td width="100%"><b><font face="Arial" size="1"><a href="'.$www_url.'">
        '.$station.'</a> - '.$description.'</font></b></td>
      </tr>
      <tr>
        <td width="100%"><b><font face="Arial" size="1">
        <img border="0" src="images/ice2_status/listeners.gif" width="22" height="18">
        Listeners: '.$listeners.'</font></b></td>
      </tr>
      <tr>
        <td width="100%"><b><font face="Arial" size="1">
        <img border="0" src="images/ice2_status/tunes.gif" width="21" height="21">
        Now Playing: '.$cur_song.'</font></b></td>
      </tr>
      <tr>
        <td width="100%"><b><font face="Arial" size="2">
        <img border="0" src="images/ice2_status/play.gif" width="15" height="15">
        <a target="_blank" href="http://'.$ip.':'.$port.''.$mount.'.m3u">Listen Now</a></font></b></td>
      </tr>
           </table>';
}


?>

что то типа

Отредактировано tarasian666 (04-02-2010 01:30:19)

19

Re: Ошибка и проблема кодировок!

Емм... вроде понял, хотя почитать придеться smile)

Но теперь вместо вывода информации про песню, просто пустая строка...

20

Re: Ошибка и проблема кодировок!

windows-1251 (windows) or cp1251(Linux/Unix)