- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
ДД!
Проблема такая - нужно определить кодировку переменной. В дальнейшем эта переменная будет использоваться для поиска по БД.
$a=$_POST['apoint'];
echo "Результат".$a."<br>".$string;
Слово результат выводится нормально, а вот переменная $a представляет кракозяблы.
В результате поиск по запросу получается некорректным.
$result = mysql_query("SELECT nomer FROM nomera WHERE `osti` LIKE '%$apoint%'",$db);
Вопрос: Как определить кодировку переменной $a и переделать ее в нужную?
после подключения к Базе первым запросом сделайте
cp1251 это если кодировка ВИН-1251. Узнать ее можно, открыв файл, в котором находится указанный Вами код. Юзайте правильный текстовый редактор. Там вверху есть "Кодировки"... Вообщем разберетесь.
Спасибо, одну проблему решил, но!
Почему то такая фигня - после этого текст (не из базы, а обычный, который идет после обработчика в тегах <P> стал кракозяблами.
Т.е в итоге поменялось все. Че в базе было - выводится нормально, а че в обычном хтмл коде - кракозяблы.
Вы приведите все к одной кодировке.
То есть, кодировка в СЕТ НЭЙМС и кодировка файла, в котором код - должны быть ОДИНАКОВЫМИ
Да, и еще. Не забывайте говорить клиенту(браузеру), в какой кодировке Вы ему отдаете контент(страницу).
1) В .htaccess написать AddDefaultCharset
2) Из ПХП файла послать заголовок с указанием кодировки
3) Мета-тэги(игнорируются, если пункт 1 и/или 2 выполнены).
djdiplomat, при POST кодировка таже что и страница с которой пост пришел. Милованов Ю.С правильно пишет если кодировка utf-8 (вот я попарился с этим) обязательно в начале страницы выдавать хеадер с кодировкой utf-8
Господа, прошу проявить терпение ко мне. (Я только начинаю изучать SQL)
Прогу запускаю в денвере.
Значит есть два файла:
Вот первый:
Вот обработчик
Поля в базе:
ID | nomer | ostanovki
1 | 34 | Авиаторов Свободы Радуга
2 | 19 | Свободы Русское поле
3 | 5 | Авиаторов Свободы Транспортная
Что получается: Если выполнять запрос прямо в MyAdmin SELECT nomer FROM nomera WHERE `ostanovki` LIKE '%$a%' заменив $а на %Авиаторов%, то выдает две записи (как и должно быть).
Если выполнять через пхп файлы, то возвращает пустой результат. (раньше результат был, но с кракозяблами)
Я своей башкой делаю вывод, что какое-то несоответствие в кодировке между бд и файлами, но чет не знаю как исправить.
PS работаю в денвере.
djdiplomat, в самое начало обработчика вставьте
<?php
header('Content-Type: text/html; charset=utf-8');
?>
и зачем ставить target="_blank" пугать пользователями взрывом нового окна?:)
Промолчу про конект к база там нужно убедится что соединение состоялось и нет ошибок.
переменная $a тоже не проверенна а вдруг инъекция?
после
$result = mysql_query("SELECT nomer FROM nomera WHERE `ostanovki` LIKE '%$a%'",$db); // подаем запрос на поиск поля
сделать
if(!$result) exit('error'); // если выдаст ошибку при выборке записи остановить скрипт
теперь если нет ошибок и в выборке есть хоть одна запись
if($result && mysql_num_rows($result) > 0) // обрабатываем
{
while($cat = mysql_fetch_array($result))
{
echo $cat['nomer']."<br />";
}
}
во конце по идее нужно обнулить выборку но тут сами найдете что делать