Всем привет, нужно заносить в базу данных спарсенные данные. Иногда в базу записываются вопросы, это какие-то части строки, которые при выборе мышкой в dbforge studio превращаются в вопросы. База данных, таблица и поле в кодировке utf8mb4. При записи в поле значения "✨ ✨" записывается как "✨ ???????????????????????????????????????????????? ✨" Голова вообще не варит, куда копать? UPD. Здесь на форуме при записи слово вообще не сохранилось, значение "✨ ProShop ✨" в посте сохранилось без ProShop, и это слово как бы не буквами, а какими-то странными символами, похожими на буквы, но которые после записи превращаются в вопросы. И когда мышкой в dbforge studio выделяю часть этого слова выделение идет не по месту курсора, а рядом и в виде знаков вопроса. Такое впечатление, что когда выделяешь одну букву, вместо нее появляются два знака вопроса в квадратике и пробелы между ними. Простите, что сумбурно, но какая-то непонятка с кодировкой. Спасибо
Я думаю что хоть база данных и таблица установлены на utf8mb4, возможно, соединение с базой данных не использует правильную кодировку. Сделайте или убедитесь, что соединение с базой данных также настроено на utf8mb4. Например можно сделать так: PHP: $mysqli->set_charset("utf8mb4");
Указывайте верную кодировку... самой БД, таблиц и нужных полей Чтоб сказать точнее - нужно видеть код - как вы их записываете в БД.. начиная от установки соединения (у него тоже может быть кодировка) и заканчивая записью в БД
База, таблица. поле, соединение с базой все в utf8mb4, иначе бы символы молний не записались. Я вставляемое значение даже в этот пост вставить полностью не могу, молнии остаются, слово "ТЕСТ" остается, а "ProShop", часть поля превращаются в вопросы после записи в базу. Вот значение после сохранения этого поста "⚡⚡⚡ ⚡⚡⚡ ТЕСТ", и слово ProShop при вставке в этот пост отображается жирным, хотя никакие стили не заданы, а после сохранения поста - исчезает. А в базу записывается "⚡⚡⚡ ???????????????????????????? ⚡⚡⚡ ТЕСТ". Текстовый файл с значением поля прилагаю. Молнии, слово ТЕСТ записывается, а со словом ProShop проблемы, кажется, что это не буквы, а символы какие-то.
U+1D40F и т.п. Вам никто не обязан это воспроизводить. Вот здесь можете ознакомиться с представлением этих символов: https://symbl.cc/ru/unicode/blocks/mathematical-alphanumeric-symbols/
Добрый день! PHP: <? $str = "⚡⚡⚡ ⚡⚡⚡ ТЕСТ"; $arr = mb_str_split($str); foreach($arr as $ch) echo "$ch ",mb_ord($ch,"UTF-8"), "<br>"; /* ⚡ 9889 ⚡ 9889 ⚡ 9889 32 119823 119851 119848 119826 119841 119848 119849 32 ⚡ 9889 ⚡ 9889 ⚡ 9889 32 Т 1058 Е 1045 С 1057 Т 1058 */ Символ код 119823 https://www.codetable.net/decimal/119823 Удачи!
«Символы молний» 3-байтовые, так что они могут сохраняться и в устаревшей 3-байтовой кодировке. Но у вас проблема может быть просто в представлении, как я выше написал --- Добавлено --- В современном браузере воспроизводятся эти символы? Или тоже вопросики?