Рассмотрим следующую строку. Его кодируется в UTF-16-LE и сохраняется в переменной PHP. Мне не удалось получить либо mbstring, либо iconv, чтобы заменить «одиночной цитатой». Что было бы хорошим способом его санации.
String: Carl Sagan '
Космическая связь
Если я не понимаю вопрос, не является проблемой UTF-16. В этой строке были htmlspecialchars()
или htmlentities()
, и одна кавычка была преобразована в объявление html-объекта '
,
Чтобы вернуть его к нормальной жизни, вам нужно сделать html_entity_decode () .
Как правило, вы хотите только делать html-кодирование во время вывода, чтобы избежать сохранения такого преобразования. Если вы берете входной код HTML где-то, чтобы получить эти строки, вы, вероятно, захотите декодировать объекты до того, как будете конвертировать и хранить UTF.