Проблема с выводом данных из mysql на сайт.

Статус
В этой теме нельзя размещать новые ответы.
левый ответ так как кодировка в базеданых cp1251

И причём тут это?) SET NAMES устанавливает кодировку чтения/записи конкретного сеанса конкретного клиента, при этом база может быть в любой другой кодировке.
 
  • Заблокирован
  • #22
да нет, я понял..., что проблема в сайте, хотя может и база подкачала, но реально те все комбинации не работают "!"

сайт VAMSHOP BTS вер. 1.139

после бекапа базы начались проблемы, что на локальном компе, что на сервере одна и таже лабуда
 
Ребята помогите !!! такая же проблемма
решил сделать мелкий мод на DLE 8.5
но страничка мода берет данные из другой базы (её кодировка 1251)

Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ без названия</title>
</head>

<body>
<?php


        $connection = mysql_connect("localhost", "root", "12345") or die(mysql_error());
        mysql_select_db("jabber", $connection);
        
            $result = mysql_query("select * from ofvcard", $connection);
mysql_query('SET NAMES cp1251');
            $myrow = mysql_fetch_array($result);
            
                echo $myrow["username"];
?>

</body>
</html>

при выводе получается заголовок страницы правильный
"Документ без названия"
а вот вывод из БД "it-??????? ", вместо русских букав "?"

подскажите пожалуйста как решить эту проблему !!!! :thenks::thenks::thenks::thenks::thenks:

=============================
Решено !!!!

делал изначально неправильно !!!


Код:
<?php


        $connection = mysql_connect("localhost", "root", "12345") or die(mysql_error());
        mysql_select_db("jabber", $connection);
   mysql_query('SET NAMES cp1251'); (строчка должна стоять после строчки соединения с базой)
            $result = mysql_query("select * from ofvcard", $connection);
// mysql_query('SET NAMES cp1251');  (эта строчка должна быть выше )
            $myrow = mysql_fetch_array($result);
            
                echo $myrow["username"];
?>
 
вообще правильно было бы так
$connection = mysql_connect("localhost", "root", "fktrcfylh") or die(mysql_error());
.....
mysql_query('SET NAMES cp1251',$connection);

И еще появляется вопрос: когда данные вставляют в эту таблицу тоже используют mysql_query('SET NAMES cp1251') ? А то может по-умолчанию данные там в utf-8 сохраняются.
 
можно как вариант прописать в htaccess AddDefaultCharset cp-1251
или в файле php header('Content-Type: text/html;charset=cp-1251');

если не поможет - значит надо обращаться к хостерам... чтоб они меняли кадировку на хостинге
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху