MySQL добавляет вопросительный знак (?) к пустому абзацу HTML

У меня есть таблица с именем adbase, в которой есть поле HTML с именем DescriptionHtmlString, это определение таблицы:

CREATE TABLE `adbase` (
  AdBaseId bigint(20) NOT NULL AUTO_INCREMENT,
  UserId bigint(20) NOT NULL,
  Title varchar(100) CHARACTER SET utf8 DEFAULT NULL,
  DescriptionHtmlString varchar(14000) CHARACTER SET utf8 DEFAULT NULL,
  -- more columns

теперь я ввожу следующий HTML-текст в DescriptionHtmlString:

<div class = "respect-p">
  <article>
    <ul>
      <li><p><b>Maintenance Manager role within an iconic, exciting and challenging business</b></p></li> 
      <li><p><b>Attractive remuneration package on offer</b></p></li>
    </ul>
    <p class = "p1"></p>
    <!-- 
      more html text ...
    -->

Проблема в том, что когда я пишу приведенный выше текст в таблицу MySQL, пустой абзац: <p class = "p1"></p> становится: <p class = "p1">?</p> в БД.

Я попытался отладить код, чтобы выяснить, где добавлен вопросительный знак, это самый последний шаг перед тем, как Entity Framework добавит html-текст в БД, и текст все еще содержит: <p class = "p1"></p>

Я также зафиксировал оператор SQL, который выполняет EF (из окна вывода), и даже тогда в абзаце нет вопросительного знака:

Но когда я читаю значение, записанное в БД, добавляется вопросительный знак:

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
196
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть невидимый персонаж в этом месте. Ваш код показывает? так как он не настроен на отображение невидимого персонажа.

Спасибо, есть идеи, как убрать невидимого персонажа?

Hooman Bahreini 22.12.2020 00:23

Изначально вы должны очистить свой ввод перед вставкой, если вы не хотите таких символов. Если вы хотите удалить это из базы данных, выполните простое обновление: «обновите набор Adbase DescriptionHtmlString = replace (DescriptionHtmlString, '​COPY_PASTE_THE_CHARACTER_HERE', '');". Речь идет о символе Unicode ZERO WIDTH SPACE (U+200B).

slaakso 22.12.2020 00:43

Спасибо, это было именно так, как вы сказали, символ ZERO WIDTH SPACE (о котором я никогда раньше не слышал)

Hooman Bahreini 22.12.2020 01:04

Другие вопросы по теме