Спустя 58 секунд (15.08.2011 - 16:43) neadekvat написал(а):
header("Content-type: text/html; charset=windows-1251");
в начале скрипта.
в начале скрипта.
Спустя 13 минут, 6 секунд (15.08.2011 - 16:56) _mitya написал(а):
Cannot modify header information - headers already sent by ......
ошибка такого рода. что делать?
ошибка такого рода. что делать?
Спустя 47 секунд (15.08.2011 - 16:57) neadekvat написал(а):
http://phpforum.ru/index.php?showtopic=43337, пункт 3 и 4.
Спустя 4 минуты, 22 секунды (15.08.2011 - 17:01) _mitya написал(а):
исправил, ошибки нет. все равно вместо русских символов вопросы. что еще может быть не так?
в PHPMYADMIN все отображается корректно.
в PHPMYADMIN все отображается корректно.
Спустя 5 минут, 5 секунд (15.08.2011 - 17:06) neadekvat написал(а):
Блин, из faq еще один пункт пропал ><
После подключения к базе сделай так:
Если не сработает, то поменяй на это:
После подключения к базе сделай так:
mysql_set_charset('cp1251');
Если не сработает, то поменяй на это:
mysql_query('SET NAMES "cp1251"');
Спустя 2 минуты, 50 секунд (15.08.2011 - 17:09) _mitya написал(а):
Access denied for user 'ODBC'@'localhost' (using password: NO) in ..........
хотя все данные о пользователе и бд прописаны.
вот скрипт. может что-то не так.
хотя все данные о пользователе и бд прописаны.
вот скрипт. может что-то не так.
<?
header("Content-type: text/html; charset=windows-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>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<?php
include("header.php");
?>
<div class="content">
<?php
//подключаем класс Paging
require('paging.inc.php');
$host='localhost';
$user='root';
$passwd='';
$db_name='db121';
//соединяемся с базой данных
$_DB = new mysqli($host,$user,$passwd,$db_name);
mysql_query('SET NAMES "cp1251"');
//создаем экземпляр класса Paging
//в качестве параметра передаем ему указатель на соединение с MySQL
$_PAGING = new Paging($_DB);
//выполняем обычный запрос данных не заботясь
//о разбивке на страницы через метод get_page объекта класса Paging
$r = $_PAGING->get_page( 'SELECT * FROM material' );
echo '<h2>Все материалы</h2>';
echo '<table cellspacing=0px; class="material_show">';
echo '<tr><td style="height:15px; background-color:#BED2F3" colspan="6"></td></tr>';
echo '<tr>
<th style="width:25px">Код</th>
<th style="width:60px">Дата</th>
<th style="width:190px">Название</th>
<th style="width:80px">Отдел</th>
<th style="width:170px">Путь</th>
<th>Исполнитель</th></tr>';
while($row = $r->fetch_assoc())
{
echo '<tr>';
echo '<td align="center">'.$row['id_number'].'</td>
<td align="center">'.$row['date'].'</td>
<td>'.$row['name'].'</td>
<td>'.$row['section'].'</td>
<td>'.$row['path'].'</td>
<td>'.$row['executor'].'</td>';
echo '</tr>';
}
echo '<tr><td style="height:15px; background-color:#BED2F3" colspan="6"></td></tr>';
echo '</table>';
//выводим информационную строку вида: "Показано с 1 по 20 из 107"
echo '<span style="margin-left:20px">';
echo $_PAGING->get_result_text().' материалов';
echo '<div class="backup"><a href="dump/index.php">Сделать копию базы данных</a></div>';
//выводим ссылки-ярлыки на предыдущую и следующую страницы
echo '<br><span style="margin-left:20px">Страницы:</span> '.$_PAGING->get_prev_page_link().' '.$_PAGING->get_next_page_link().'<br /><br />';
//а также строку с номерами страниц (основные ярлыки)
echo '<span style="margin-left:20px">';
echo $_PAGING->get_page_links();
echo '<div style="height:30px">';
?>
</div></div>
</body>
</html>
Спустя 4 минуты, 26 секунд (15.08.2011 - 17:14) neadekvat написал(а):
Парень, вот серьезно, ты просто копируешь, не думая?
Ну, ок. Пусть так.
Сделай так вместо mysql_query:
Ну, ок. Пусть так.
Сделай так вместо mysql_query:
$_DB->query('SET NAMES "cp1251"');
Спустя 1 минута, 27 секунд (15.08.2011 - 17:15) _mitya написал(а):
блииин, я б этом кстати думал, но я не знал, как это записать))
Спасибо большое!
Спасибо большое!

Спустя 7 минут, 51 секунда (15.08.2011 - 17:23) _mitya написал(а):
есть другой вопрос. на другой странице есть поиск с автозаполнением,он перестал работать изза этой смены кодировок.
поставил все как и при выводе - но нет. что может быть не так?
поставил все как и при выводе - но нет. что может быть не так?
<?php
$q = strtolower( $_GET["q"] );
if (!$q) return;
$dbhost = "localhost"; // Database Host
$dbuser = "root"; // User
$dbpass = ""; // Password
$dbname = "db121"; // Name of Database
mysql_connect( $dbhost, $dbuser, $dbpass ) or die( mysql_error() );
mysql_select_db( $dbname ) or die( mysql_error() );
mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");
// Replace "TABLE_NAME" below with the table you'd like to extract data from
$data = mysql_query( "SELECT * FROM material" )
or die( mysql_error() );
// Replace "COLUMN_ONE" below with the column you'd like to search through
// In between the if/then statement, you may present a string of text
// you'd like to appear in the textbox.
while( $row = mysql_fetch_array( $data )){
if ( strpos( strtolower( $row['name'] ), $q ) !== false ) {
echo $row['name'] . " \n";
}
}
?>
Спустя 3 минуты, 47 секунд (15.08.2011 - 17:27) neadekvat написал(а):
Во-первых - это капец какой-то. SQL тебе предоставляет возможность делать выборку по WHERE, чтобы не приходилось записи фильтровать на php.
Во-вторых, символы перед запросом надо кодировать через urlencode, а при получении в этом скрипте раскодировать черезе urldecode, а уж потом использовать. Смотри через средства отработки типа firebug'a, какие там запросы на фоне прохдят, открывай этот свой скрипт с конкретными запросами и смотри, что происходит.
Во-вторых, символы перед запросом надо кодировать через urlencode, а при получении в этом скрипте раскодировать черезе urldecode, а уж потом использовать. Смотри через средства отработки типа firebug'a, какие там запросы на фоне прохдят, открывай этот свой скрипт с конкретными запросами и смотри, что происходит.
Спустя 16 часов, 7 минут, 2 секунды (16.08.2011 - 09:34) _mitya написал(а):
Цитата (neadekvat @ 15.08.2011 - 14:27) |
Во-вторых, символы перед запросом надо кодировать через urlencode, а при получении в этом скрипте раскодировать черезе urldecode, а уж потом использовать. Смотри через средства отработки типа firebug'a, какие там запросы на фоне прохдят, открывай этот свой скрипт с конкретными запросами и смотри, что происходит. |
я в этом не особо разбираюсь. Этот скрипт я нашел. он в кодировке utf-8 прекрасно работал, только был регистрозависимым, то есть принимал только маленькие или большие буквы. поэтому захотел win-1251. так это изза смены кодировки произошли или все таки нет? как можно минимально исправить код, чтоб работал?
Спустя 1 час, 24 минуты, 26 секунд (16.08.2011 - 10:58) neadekvat написал(а):
Цитата (_mitya @ 16.08.2011 - 10:34) |
как можно минимально исправить код, чтоб работал? |
Я описал, что нужно делать. Если не понимаешь.. Ну извините-извините, придется либо разбираться, либо ждать тех, кто готов до посинения сидеть с вопрошающим.
Спустя 6 минут, 1 секунда (16.08.2011 - 11:04) _mitya написал(а):
а в utf-8 полюбому регистрозависимо будет,да? я ставил utf8_general_ci в mysql.
то есть вот тут
нужно изменить кодирование и раскодирование?
то есть вот тут
while( $row = mysql_fetch_array( $data )){
if ( strpos( strtolower( $row['name'] ), $q ) !== false ) {
echo $row['name'] . " \n";
}
нужно изменить кодирование и раскодирование?
Спустя 12 минут, 51 секунда (16.08.2011 - 11:17) neadekvat написал(а):
> utf8_general_ci
Это как раз регистронезависимая кодировка.
Ты читал про функции url(en|de)code?
Это как раз регистронезависимая кодировка.
Ты читал про функции url(en|de)code?
Спустя 9 минут, 21 секунда (16.08.2011 - 11:26) _mitya написал(а):
Цитата (neadekvat @ 16.08.2011 - 08:17) |
> utf8_general_ci Это как раз регистронезависимая кодировка. Ты читал про функции url(en|de)code? |
а почему тогда если регистронезависимая, то если написать - "письмо" он найдет, а "Письмо" - не найдет
читал, но я не пойму, там написано, что это для URL...
или я действительно чего-то не пойму.
Спустя 12 минут, 55 секунд (16.08.2011 - 11:39) Renden написал(а):
_mitya
Я тоже не понял зачем использовать пых если можно использовать sql. Ну типа того:
Я тоже не понял зачем использовать пых если можно использовать sql. Ну типа того:
$search = isset($_GET["q"]) ? trim(strtolower(mysql_real_escape_string($_GET["q"]))) : '';
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "db121";
mysql_connect( $dbhost, $dbuser, $dbpass ) or die( mysql_error() );
mysql_select_db( $dbname ) or die( mysql_error() );
mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");
if(!empty($search))
{
$query = mysql_query("SELECT * FROM material WHERE name='$search'")or die(mysql_error());
while($row = mysql_fetch_array($query))
echo $row['name'] . " \n";
}
else echo "Строка поиска не может быть пустой";
Спустя 6 минут, 12 секунд (16.08.2011 - 11:45) _mitya написал(а):
ошибка
mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: Access denied for user 'ODBC'@'localhost' (using password: NO
mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: Access denied for user 'ODBC'@'localhost' (using password: NO
Спустя 2 минуты, 33 секунды (16.08.2011 - 11:48) Renden написал(а):
_mitya
Ну надо сначала конект к базе сделать, т.е логин пароль и подключение вверху..кароч:
Ну надо сначала конект к базе сделать, т.е логин пароль и подключение вверху..кароч:
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "db121";
mysql_connect( $dbhost, $dbuser, $dbpass ) or die( mysql_error() );
mysql_select_db( $dbname ) or die( mysql_error() );
mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");
$search = isset($_GET["q"]) ? trim(strtolower(mysql_real_escape_string($_GET["q"]))) : '';
if(!empty($search))
{
$query = mysql_query("SELECT * FROM material WHERE name='$search'")or die(mysql_error());
while($row = mysql_fetch_array($query))
echo $row['name'] . " \n";
}
else echo "Строка поиска не может быть пустой";
Спустя 4 минуты, 51 секунда (16.08.2011 - 11:53) _mitya написал(а):
не работает
Это вот еще на странице поиска прописываю
как можно просто указать кодировку при этом автозаполнении?
Это вот еще на странице поиска прописываю
<script type="text/javascript" charset="windows-1251" src="js/jquery-1.2.6.pack.js"></script>
<script type="text/javascript" charset="windows-1251" src="js/jquery.autocomplete.pack.js"></script>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$().ready(function() {
$("#targetDiv").autocomplete("autocomplete.php", {
width: 654,
selectFirst: true
});
});
</script>
как можно просто указать кодировку при этом автозаполнении?
Спустя 10 минут, 38 секунд (16.08.2011 - 12:03) Renden написал(а):
_mitya
javascript по умолчанию посылает utf-8 так что мой те совет, переводи свой сайтег на utf8 и неломай себе и другим моск, серьезно, cp1251 убивает сайт на корню..
ЗЫ
javascript по умолчанию посылает utf-8 так что мой те совет, переводи свой сайтег на utf8 и неломай себе и другим моск, серьезно, cp1251 убивает сайт на корню..
ЗЫ
iconv("UTF-8", "CP1251", $search);если не хочешь менять кодировку..
Спустя 23 минуты, 11 секунд (16.08.2011 - 12:27) _mitya написал(а):
а в чем может быть причина, что в utf8 например слово "Письмо" не выведет, а "письмо" выведет?
Спустя 3 минуты, 5 секунд (16.08.2011 - 12:30) Renden написал(а):
_mitya
Наверно заместо strtolower надо mb_strtolower
Наверно заместо strtolower надо mb_strtolower

Спустя 56 минут, 15 секунд (16.08.2011 - 13:26) _mitya написал(а):
вооо, спасибо!!!!
огромное спасибо.
я ж как раз это и просил, а мне весь код начали исправлять
огромное спасибо.
я ж как раз это и просил, а мне весь код начали исправлять
Спустя 13 минут, 36 секунд (16.08.2011 - 13:40) _mitya написал(а):
Цитата (Renden @ 16.08.2011 - 09:30) |
_mitya Наверно заместо strtolower надо mb_strtolower ![]() |
если написать "письмо" - найдет, "Письмо" тоже. а вот "ПИСЬМО" не находит.
что-то можно еще сделать?