URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 8191
[ Назад ]

Исходное сообщение
"Как распознать двоичные данные в строке PHP"

Отправлено DHCPep , 07-Дек-19 20:46 
Добрый вечер Друзья!

Вопрос собственно в заголовке, поясню его так:
PHP получает данные от пользователя из формы и затем пишет в БД MySQL.
В таблице куда пишутся данные, поля имеют тип CHAR(255), кодировка БД и таблиц utf8_general_ci.

Так вот если от пользователя приходит строка с двоичными данными, то при попытке вставки в таблицу, в полях CHAR оказываются NULL значения.

Понимаю, что формулировка "строка с двоичными данными" - это полная чушь, так как все данные двоичны, но прошу не придираться. Думаю суть ясна. Как распознать что в строке имеются данные не входящие в utf-8 кодировку.


Содержание

Сообщения в этом обсуждении
"Как распознать двоичные данные в строке PHP"
Отправлено ыы , 08-Дек-19 12:31 
>[оверквотинг удален]
> PHP получает данные от пользователя из формы и затем пишет в БД
> MySQL.
> В таблице куда пишутся данные, поля имеют тип CHAR(255), кодировка БД и
> таблиц utf8_general_ci.
> Так вот если от пользователя приходит строка с двоичными данными, то при
> попытке вставки в таблицу, в полях CHAR оказываются NULL значения.
> Понимаю, что формулировка "строка с двоичными данными" - это полная чушь, так
> как все данные двоичны, но прошу не придираться. Думаю суть ясна.
> Как распознать что в строке имеются данные не входящие в utf-8
> кодировку.

https://yandex.ru/search/?text=php%20проверка%20на%20utf8


"Как распознать двоичные данные в строке PHP"
Отправлено zoonman , 08-Мрт-20 08:42 
А вы 100% уверены, что там двоичные данные? Может быть какой-нибудь trim() использован вместо mb_trim()?

А так вам надо mb_check_encoding() использовать.