Из-за некоторых проблем с кодировкой некоторые символы в моей базе данных были неправильно интерпретированы. Некоторые символы были заменены на 'замещающий символ'. Мне нужно найти все такие символы и заменить их пробелом. Я искал разные решения с использованием sed, bash, perl и т.д., но безуспешно. Может ли кто-нибудь поделиться решением, как найти такие символы (т.е. искать этот символ в шестнадцатеричном / восьмеричном формате стоимость) и заменить их любым другим символом?
Спасибо.
Глиф Unicode «заменяющий символ» обычно не является тем, что находится в базовой системе хранения данных: он обычно добавляется на уровне отображения (из-за сбоя декодирования) и фактически не сообщает вам, каким был / является базовый код.
У вас есть два варианта:
Первый (и лучший) - выяснить, что представляет собой основной глиф / код, и использовать инструменты базы данных, чтобы все наладить.
Второй - экспортировать ваши данные с помощью чего-то, что выполняет преобразования Unicode, искать / заменять код «заменяющего символа» и повторно импортировать ваши данные. Обычно это невозможно для всех наборов данных, кроме самых маленьких (и если проблема в том, что ваш рабочая станция не могу понять, что делать с глифами Unicode, это не решит вашу проблему).