|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|
При парсинге сайта в браузере выводится ошибка: Incorrect string value: '\xE2\x80\xB3. \xD0.' for column 'content' at02.07.2020, 19:58. Показов 4806. Ответов 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 При парсинге сайта содержание в строке выводится не на языке сайта Ошибка при парсинге страницы сайта |
|
Невнимательный
|
|||||||||||||||||
| 02.07.2020, 20:55 | |||||||||||||||||
Изначальная кодировка соединения: utf8
Ошибка при загрузке набора символов cp1251_general_ci: Invalid characterset or character set not supported --------------------------------- Насколько понял надо вместо cp1251_general_ci просто cp1251 станет например
0
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
||||||
| 02.07.2020, 21:45 [ТС] | ||||||
|
В своём коде заменил, только $mysqli на $link.
На данный момент в браузере выводится следующее: Рзначальная РєРѕРґРёСЂРѕРІРєР° соединения: utf8 character_set_client utf8 character_set_connection utf8 character_set_database cp1251 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir c:\ospanel\modules\database\MySQL-8.0-x64\share\charsets\ Установка РєРѕРґРёСЂРѕРІРєРё. Ошибка РїСЂРё загрузке набора символов cp1251_general_ci: Invalid characterset or character set not supported Incorrect string value: '\xE2\x80\xB3. \xD0...' for column 'content' at row 1 В базе данных пока ничего не трогал (чтобы не запутаться во всём этом). Вот весь код скрипта:
0
|
||||||
|
Невнимательный
|
|||||||||
| 02.07.2020, 22:59 | |||||||||
|
Нет возможности проверить на mysql-8.0 В том моём куске кода переделывал заменив 5 строчек на поболее
В вашем случае похоже в редакторе этот код надо переделать в cp1251, как-будто в utf-8 сохранили. Возможно придётся убирать эти u, хотя я не понял для чего затираются эти символы, и почему дважды (возможно трижды) $text обрабатывается функцией addslashes()
0
|
|||||||||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|
| 03.07.2020, 16:02 [ТС] | |
|
Есть определённый прогресс.
В браузере на данный момент выводится следующее: Изначальная кодировка соединения: utf8 character_set_client utf8 character_set_connection utf8 character_set_database cp1251 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir c:\ospanel\modules\database\MySQL-8.0-x64\share\charsets\ Установка кодировки. Текущая кодировка соединения: cp1251 То есть, никаких ошибок в браузере уже не выводится. Проблема остаётся с данными в базе данных. Там 2 поля: name и content. В эти 2 поля записываются данные в виде английских букв и кракозябров, но никак не на кириллице. Нужно, чтобы было на кириллице. Почему так происходит, ведь я изменял кодировку на cp1251_general_ci?
0
|
|
|
Невнимательный
|
||
| 03.07.2020, 20:13 | ||
|
Крякозябры бывают разные ,) возможно поможет такая тема
Базы Данных. Кодировка ввода/вывода. Если в этих $name, $text точно cp1251, и записи были добавлены после того как кодировка соединения выставлялась в cp1251. Возможно, если крякозябры такие-же Ошибка, кодировка страницы cp1251 а содировка соединения utf8, ... или данные были добавлены до того Добавлено через 5 минут так-же как при добавлении, так и при получении данных, если страницы все в cp1251
0
|
||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
||
| 04.07.2020, 21:35 [ТС] | ||
|
Как и где меняются эти параметры? Тут какая-то каша: character_set_client utf8mb4 character_set_connection utf8mb4 character_set_database utf8 character_set_filesystem binary character_set_results utf8mb4 character_set_server utf8 character_set_system utf8 character_sets_dir c:\ospanel\modules\database\MySQL-8.0-x64\share\ch... Может быть в них проблема?
0
|
||
|
Невнимательный
|
|||||||
| 05.07.2020, 03:40 | |||||||
|
Не подумал, что возможно у Вас текст в однобайтной кодировке, но не CP1251...
например в koi8-r выглядит более менее, но с Ё .)
...можно было-бы сказать попробуйте при сожранении выполнить $mysqli->set_charset('koi8r');но логичнее просто сначала выяснить, в какой-же кодировке текст, который пытаетесь сохранить. При выводе нужно переключаться на ту кодировку, в которой нужно отобразить страницу. Не по теме:
$mysqli->set_charset() или mysqli_set_charset()меняется три переменные, как видно если распечатывать character_set_client character_set_connection character_set_results Точно такой-же эффект можно получить выполнив запрос SET CHARACTER SET {charset_name | DEFAULT} или SET NAMES {'charset_name' [COLLATE 'collation_name'] | DEFAULT}но с переклюение с помощью mysqli-функций как-бы считается более предпочтительным Все три системные переменные mysql устанавливаются как глобально (для всего сервера), так и для сессии (для текущего подключения) Этот второй случай и используется.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
||||||
| 05.07.2020, 15:23 [ТС] | ||||||
|
Написал строку в виде:
Захожу в базу данных - там кракозябры. Меняю различные кодировки в таблице, в полях. Результат всегда - кракозябры. Только, кракозябры разные в зависимости от кодировки. Нормального текста на кириллице не появляется. Сейчас в таблице и полях кодировка koi8r_general_ci, но всё равно в таблице кракозябры.
0
|
||||||
|
Невнимательный
|
||||||||
| 05.07.2020, 18:33 | ||||||||
|
Пробовал распихать текст в 3-х кодировках по 2-м таблицам в разной кодировке
Т.е. на добавлении utf-8 текста в koi8-r таблицу... с ошибкой Incorrect string value: '\xE2\x80\x93 \xD0\xBA...' for column 'txt' at row 1 Но выводит нормально, хоть и 5 записей вместо 6-и ,) если закоментировать получение и цикл с добавлением строк Добавлено через 12 минут Попробовал вместо koi8r сделать таблицу 'CREATE TABLE `test_koi` (`txt` TEXT) ENGINE=MyISAM DEFAULT CHARSET=cp1251',Ошибка пропала... вообще отказываюсь понимать проще с таблицами utf8, и побольше разных символов можно использоватьДобавлено через 58 секунд крякозябров нет )) Добавлено через 9 минут и наверное я-бы остановился на utf8
0
|
||||||||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
||||||
| 05.07.2020, 18:55 [ТС] | ||||||
|
Удалил проблемную таблицу. Создал её заново по Вашему примеру:
Если указываю в соединении utf-8, то кракозябров в таблице нет, но в браузере всё та же ошибка: Incorrect string value: '\xE2\x80\xB3. \xD0.' for column 'content' at Если же, например, в соединении cp1251, то ошибка в браузере исчезает, но в базе данных - кракозябры. Получается, первую ошибку устраняешь - возникает вторая, вторую устраняешь - возникает первая. И так каждый раз. Буду, конечно, решать эту проблему, но, что-то в это не очень верится.
0
|
||||||
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|||||||||||
| 05.07.2020, 19:41 | |||||||||||
|
1) непонятно вот такое
и не лучше ли сохранять в бд с использованием bindparam mysqli. 2) изначально вы символы сохраняли в кодировке cp1251. после изменения кодировки таблицы кодировка записанных в ее ячейки символов не изменилась. имеет смысл попробовать изменить кодировку символов такой командой (после того, как таблицу преобразовали в utf8):
1
|
|||||||||||
|
Невнимательный
|
|||||||
| 05.07.2020, 19:53 | |||||||
|
Добавлено через 8 минут Если окажется что всё-таки текст который вы хотите добавить в utf-8, но с "левыми" байтами, можно попробовать почистить этот текст например
... но не тестил , и вроде можно похожее делать другими способами
0
|
|||||||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|||
| 05.07.2020, 19:58 [ТС] | |||
|
Пробовал. Это лучший из худших вариантов: в БД кракозябров нет, но всё та же ошибка в браузере. Текст?″. ?.<br /> <b>Warning</b>: : failed to open stream: Permission denied in <b>C... on line <b>66</b><br /> Строка 66 выглядит так: $page = file_get_contents($url);
0
|
|||
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|
| 05.07.2020, 20:10 | |
|
x_lab, в этой таблице показаны количество байт для вывода нужного символа. \xFF не должно использоваться. в других случаях если начинается с f, то это 4 байтная и надо использовать не utf8, а utf8mb4 (вот тут я про это недавно узнал).
по этой же таблице символ '\xE2\x80\xB3. \xD0.' должен быть в трехбайтной кодировке. все-таки может utf8. может и ошибаюсь, но там так много экранирования, и неизвестно что в итоге получается.
1
|
|
|
Невнимательный
|
|||||||
| 05.07.2020, 20:18 | |||||||
просто сохраните текст в файл, ... или сохранить страницу как html, откройте этот файл в редакторе, и посмотрите в какой кодировке он отображается. Значит однозначно нужно соединение в такой кодировке. Из всего топика это так и не прояснилось ... то что в базе, было сохранено без ошибки Incorrect string value, или оно не было-бы сохранено
0
|
|||||||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|
| 05.07.2020, 20:28 [ТС] | |
|
vinikon,
1)Возможно, немного перестарался, но без addslashes в браузере выводится синтаксическая ошибка. Где именно лишние addslashes? 2)При попытке сделать запрос ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; в phpMyadmin появляется 'Missing comma before start of a new alter operation. (около CHARACTER SET)'. 3)Дамп без конкретных данных в таблице (поля пустые), но если необходимо, то заполненную БД покажу. -- phpMyAdmin SQL Dump -- version 4.8.5 -- https://www.phpmyadmin.net/ -- -- Хост: 127.0.0.1:3306 -- Время создания: Июл 05 2020 г., 20:22 -- Версия сервера: 8.0.15 -- Версия PHP: 7.2.10 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SE T_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_S ET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CO NNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- База данных: `mysite` -- -- -------------------------------------------------------- -- -- Структура таблицы `content5` -- CREATE TABLE `content5` ( `name` text, `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_ CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET _RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONN ECTION */;
0
|
|
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
||||||||||||||
| 05.07.2020, 20:57 | ||||||||||||||
|
а у вас кодировка php скриптов меняется соответственно кодировке бд?
1
|
||||||||||||||
|
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 91
|
|||
| 05.07.2020, 21:12 [ТС] | |||
|
Дамп БД (в урезанном виде):
-- phpMyAdmin SQL Dump -- version 4.8.5 -- https://www.phpmyadmin.net/ -- -- Хост: 127.0.0.1:3306 -- Время создания: Июл 05 2020 г., 21:02 -- Версия сервера: 8.0.15 -- Версия PHP: 7.2.10 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SE T_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_S ET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CO NNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- База данных: `mysite` -- -- -------------------------------------------------------- -- -- Структура таблицы `content5` -- CREATE TABLE `content5` ( `name` text, `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Дамп данных таблицы `content5` -- INSERT INTO `content5` (`name`, `content`) VALUES ('Как исправить проблему с установкой viber в kubuntu 18.04', '\n \n \n <p>В новой версии kubuntu 18.04 используется libcurl4, а в зависимостях viber 3-я версия. Соответственно при установке viber просит установить старую версию и сносит новую libcurl4 и софт зависящий от неё. Лучший известный мне способ исправить данную проблему — пересобрать пакет.</p>\n<pre class=\\\"brush: bash\\\">sudo su переходим в режим root\ndpkg-deb -x viber.deb viber распаковываем пакет скачанный с сайта viber\ndpkg-deb --control viber.deb viber/DEBIAN \nnano /DEBIAN/control заменяем libcurl3 на libcurl4\ndpkg -b viber vibernew.deb перепаковываем и устанавливаем\ndpkg -i vibernew.deb\n</pre>\n<p>И всё работает. Печалит то, что современные приоритеты месенджеров кроются в продажах стикеров и информации, а вот потратить пару человекочасов на нормальный способ дистрибуции — жалко.</p>\n '), ('Рефакторинг блога.', '\n \n \n <p>Бложек немного приболел, дроплет на DO полетел, унеся с собой блог. Занимаюсь сейчас ремонтом и восстановлением из бэкапа. А заодно надо почистить лютый треш из стрых записей. А то многие статьи самому страшно перечитывать и хочется поломать руки тому говнокодеру…</p>\n '), ('Недостатки laravel', '\n \n \n <p>Я очень люблю фреймворк laravel, пользуюсь им начиная с 3-й версии, тогда он был как глоток свежего воздуха на фоне zend и symfony. Уважаю Тейлора за проделанную работу, за принесённую в php фреймворки идею удобного апи и умение копировать лучшее из других фреймворков вроде RoR. О плюсах сказано уже много, но у него есть свои недостатки.<br>\n<a href=\\\"http://amdy.su/wp-content/uploads/nobody-perfect.jpg\\\" rel=\\\"attachment wp-att-693\\\"><img class=\\\"aligncenter size-medium wp-image-693\\\" src=\\\"http://amdy.su/wp-content/uploads/nobody-perfect-300x180.jpg\\\" alt=\\\"Well, nobody perfect\\\" width=\\\"300\\\" height=\\\"180\\\"></a>Эти недостатки не фатальны, а некоторые и вовсе мои личные привычки, которые другим покажутся надуманными. Всё дерьмо вылитое ниже не сильно влияет на мою оценку laravel, который считаю лучшим фреймворком в мире PHP. И спасибо <a , /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_ CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET _RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONN ECTION */; Добавлено через 5 минут 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 'myModule', ) .value('bar', 123).; angular .module('appModule', ['myModule' at line 6
0
|
|||
|
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
|
|||||||||||
| 05.07.2020, 22:09 | |||||||||||
|
1) кодировка сайта http://amdy.su utf-8
2) в дампе таблицы лишние слеши, что впрочем ожидаемо. после их удаления все выводится нормально. только надо установить кодировку php скриптов
1
|
|||||||||||
| 05.07.2020, 22:09 | |
|
Помогаю со студенческими работами здесь
20
Ошибка при записи в базу 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|