|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|
При парсинге сайта в браузере выводится ошибка: Incorrect string value: '\xE2\x80\xB3. \xD0.' for column 'content' at02.07.2020, 19:58. Показов 5252. Ответов 28
Метки нет (Все метки)
Есть вероятность, что проблема с кодировкой, но, как это исправить я не знаю.
В скрипте при подключении к базе данных пишу - mysqli_set_charset($link, "cp1251_general_ci"); В phpMyadmin в настройках базы данных - cp1251_general_ci В конкретной таблице - cp1251_general_ci В свойствах полей - cp1251_general_ci В файле .htaccess - cp1251_general_ci То есть, везде делаю одинаковую кодировку, но ошибка не исчезает и не меняется. В phpMyadmin есть ещё такие параметры (в прикреплённом файле). Ещё в них хотел сделать одинаковую кодировку, но как - не знаю. Если дело в этих параметрах, то как их изменить? Если не в них - тогда в чём? Спасибо.
0
|
|
| 02.07.2020, 19:58 | |
|
Ответы с готовыми решениями:
28
Incorrect string value: '\xD0\x94\xD0\xB8\xD0\xBC.' for column 'name' at row 1 При парсинге сайта содержание в строке выводится не на языке сайта Ошибка при парсинге страницы сайта |
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
||||
| 05.07.2020, 22:39 [ТС] | ||||
|
? На языке игроков компьютерных игр я знаю, что значит "биндить", а на языке программистов не знаю? ![]() Если честно, я думал, что этот вопрос решится за пару секунд, а растянулось уже на несколько дней.
0
|
||||
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|||||||||||||||||||||
| 05.07.2020, 23:03 | |||||||||||||||||||||
|
в-общем, во первых, там где у вас подключение к бд надо после добавить вот эту строчку
Добавлено через 13 минут да и не надо парсить весь сайт - пока одну страницу достаточно - закомментируйте у себя
1
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|
| 06.07.2020, 03:25 [ТС] | |
|
vinikon,
Если вставить предложенный код именно в том виде, в котором Вы написали, то в БД ничего не записывается, хотя и ошибки в браузере не выводится. Если попробовать заменить в коде знаки ?, то в БД, также ничего не записывается, но в браузере появляется: <br /> <b>Warning</b>: mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given in <b>C:\OSPanel\domains\test\www\rusakov\p arsing20.php</b> on line <b>77</b><br /> <br /> <b>Warning</b>: mysqli_stmt_execute() expects parameter 1 to be mysqli_stmt, boolean given in <b>C:\OSPanel\domains\test\www\rusakov\p arsing20.php</b> on line <b>78</b><br /> <br /> <b>Warning</b>: mysqli_stmt_bind_result() expects parameter 1 to be mysqli_stmt, boolean given in <b>C:\OSPanel\domains\test\www\rusakov\p arsing20.php</b> on line <b>79</b><br /> <br /> <b>Warning</b>: mysqli_stmt_fetch() expects parameter 1 to be mysqli_stmt, boolean given in <b>C:\OSPanel\domains\test\www\rusakov\p arsing20.php</b> on line <b>80</b><br /> <br /> <b>Warning</b>: mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given in <b>C:\OSPanel\domains\test\www\rusakov\p arsing20.php</b> on line <b>83</b><br /> <br /> <b>Warning</b>: mysqli_stmt_execute() expects parameter 1 to be mysqli_stmt, boolean given in <b>C:\OSPanel\domains\test\www\rusakov\p arsing20.php</b> on line <b>84</b><br /> <br /> <b>Warning</b>: mysqli_stmt_affected_rows() expects parameter 1 to be mysqli_stmt, boolean given in <b>C:\OSPanel\domains\test\www\rusakov\p arsing20.php</b> on line <b>85</b><br /> You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<p>В новой версии kubuntu 18.04 используется libcurl4, �' at line 4 То есть, такие строки появляются, если в коде заменить name=? на name=$name, а content=? на content=$text.
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
||||||||||||||||
| 06.07.2020, 10:51 | ||||||||||||||||
Сообщение было отмечено Pavll как решение
Решение
да, я ошибся. вместо $text использовал несуществующую переменную $content. Заглючило к концу дня )).
но я тут с утра у вас увидел еще одну лажу, которую вчера просмотрел: вы подключаетесь к бд объектно-ориентированным стилем, а в запросах используете процедурный. в-общем вот этот код должен быть рабочим
попробовал немного оптимизировать код: убрал рекурсию, убрал лишний запрос к бд и переписал с использованием класса mysqli:
1
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|
| 06.07.2020, 15:01 [ТС] | |
|
Да, случилось чудо и код заработал!
Спасибо, всем!
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
| 06.07.2020, 17:33 | |
|
вот и славненько. желаю успехов.
хочу вам посоветовать все-таки разобраться с базами данных. если бы вы имели навыки работы с бд, то скорей всего, эта проблема и не возникла. если интересно, то вот здесь коротко основы sql: типы данных, особенности запросов и типы таблиц. вводная статья в pdo, старая но, в-общем, не устаревшая еще немного примеров с pdo PDO быстрый старт
1
|
|
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|
| 06.07.2020, 17:42 [ТС] | |
|
vinikon,
Спасибо за всё. Обязательно, прочту и постараюсь понять этот материал. Вы писали, что у меня в одной части кода процедурный стиль, а в другой ООП. Это из-за того, что я решил совместить два кода взятых из разных материалов. Думал - авось сработает. И ведь, почти сработало Кстати, из-за чего прежде всего возникла ошибка 'Incorrect string value: '\xE2\x80\xB3. \xD0.' for column 'content' at'? Илу тут в комплексе всё сказалось? То есть, если спросить немного по-другому - могло ли не возникнуть этой ошибки, используя в коде процедурный стиль и ООП? Или эти два метода никак не совместимы?
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
||
| 06.07.2020, 18:05 | ||
|
'Incorrect string value: '\xE2\x80\xB3. \xD0.' for column 'content' at' возникла из-за того, что кодировка считанных символов по размерности была больше той, которая установлена в бд. вы изначально задали для бд cp1251, которая является по сути однобайтной, в то время как сайте http://amdy.su/ установлена utf-8, способная выдавать символы и трехбайтные. но utf-8 оказалась все же не всеохватывающая, потому что не может отображать символы из 4 байт. (вот здесь про это подробно, правда на английском) . короче размер полученных символов (в байтах) оказался больше размера символов, которые были установлены в бд. поэтому в скриптах я и выбрал бд utf8mb4, чтобы и четырехбайтные символы охватить. но, в-общем случае, парсинг сайтов не такое уж простое дело. не всякий сайт можно легко спарсить.
1
|
||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|
| 06.07.2020, 19:30 [ТС] | |
|
vinikon,
0
|
|
| 06.07.2020, 19:30 | |
|
Ошибка при записи в базу MySQL: "Incorrect string value" Ошибка при записи в Access - Cannot set column 'Описание'. The value violates the MaxLength limit of this column. При парсинге html в string появились коды Выводится ошибка mysql_fetch_array() expects parameter 1 to be resource, либо Unknown column 'значение переменной $prname' in WHERE clause Errormessage: Incorrect integer value: '' for column `base`.`news`.`id` at row 1 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|