У меня есть текстовое поле в таблице, которое выглядит так:
Brand New Floor Plan - этот двухэтажный кондоминиум "Сандпипер" имеет 2 спальни, 2 ½ ванны и ден и 8 межкомнатных дверей.
Когда я показываю их на веб-странице, я получаю действительно странные символы, где "и" происходят следующим образом:
Я могу очистить двойные кавычки так:
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '"', '"');
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '"', '"');
Вызывает ошибку:
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '', ''');
ОШИБКА: [Err] 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с '' '') 'в строке 1
Я думаю, что проблема заключается в использовании одинарных кавычек три раза подряд '' '
Как очистить одиночные кавычки?
Чтобы исправить ошибку 1064, вы должны избегать символа кавычки с обратной косой чертой:
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '', '\'');
Чтобы исправить вашу проблему с символами, не появляющимися на вашей веб-странице, вы должны правильно управлять кодировкой, которая в основном требует 3 вещи:
A. В идеале ваша таблица должна иметь кодировку utf8.
B. в коде, который находится за вашей веб-страницей, вы должны сообщить базе данных, что вы хотите кодирование utf8. Например, в PHP с mysqli:
$mysqli->set_charset("utf8");
C. Вы должны указать кодировку utf8 в заголовке html страницы:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
Если вы можете загрузить "неправильные значения" из базы данных и правильно их показать на Java, вы должны попытаться как-то избежать этого:
https://coderwall.com/p/rvduyw/jdbc-inserting-unicode-utf-8-characters-into-mysql
И обновите строку с новым значением. Это должно исправить это.