Ответы пользователя по тегу PHP
  • Как удалить � (знак вопроса в ромбе) из текста?

    @bbbcccc
    Способ длинноватый, но простой и приемлемый для «почтичайников».
    В тексте имеются символы «вопрос в черном ромбе» �. Удалить можно только вручную, по одному. Инструменты «найти» и «заменить» не помогают, они не видят этот символ. Применить макрос или код – не для всех. Вообще этот символ означает, что в исходном тексте были символы, отсутствующие в тексте с текущей кодировкой.
    Создаем новый документ ворд, копируем в него символы, можно вместе с небольшим фрагментом текста, так, чтобы в будущем по положению в тексте можно было найти символ, даже если все будет заменено на абракодабру. Удобно повторить несколько символов в начале строки.
    Сохраняем текст.
    В настройках ворд на вкладке файл-параметры-дополнительно-группа «общие» (внизу) ставим птичку «подтверждать преобразование формата файла при открытии»
    Сохраняем текст в txt. При нажатии «сохранить» появится окно «преобразование файла». По умолчанию стоит кодировка виндовс. Справа под окном кодировок будет предупреждение о том, что «текст, выделенный красным невозможно сохранить в выбранной кодировке». Ниже в окне образца, пролистав его увидите красные символы. Слева вверху три варианта кодировки. Ставим точку «Другая». Активируется окно кодировок. Находим кодировку, при которой символы в образце становятся некрасными, но текст читается. Мне помогла кодировка «Китайская упрощенная (GB 18030)». Юникод не помог, т.к. в будущем при замене инструмент «заменить» не увидел некоторых символов этой кодировки. Т.е. в китайской кодировке символы, заменившие � ромб совпали с виндовс (я так понимаю ANSI), а в Юникоде � ромб заменился на символы, часть которых отсутствует в кодировке виндовс. Жмем ОК.
    Закрыть.
    Открыть с помощью Ворд. При открытии в запросе выбрать обычный текст. Откроется абракодабра.
    В абракодабре найти символ (скорее всего группу символов), соответствующие символу � ромб.
    Инструментом «заменить» заменить найденные символы на какие-нибудь другие (потом моно будет просто менять).
    Сохранить.
    Закрыить.
    Открыть с помощью ворд, выбрав опять кодировку «Китайская упрощенная (GB 18030)».
    Сохранить как docx.
    Может можно и проще. Смысл понятен. Проблема в разных символах в разных кодировках. Еще проще написать какой-нибудь код, но это не для массового пользователя.
    Ответ написан
    1 комментарий