Я использую функции PHP IMAP для чтения писем с удаленного сервера. Пока кто-то отправляет электронное письмо через Gmail, тело показывает кодировку ASCII, и поскольку сообщение находится в UTF-8, мне пришлось использовать base64_decode(), чтобы преобразовать его в приемлемый результат.
Оставшаяся проблема - отображение неизвестных символов в конце возвращаемой строки. Это примерно так:
این یک تست هست. ▯
Я использовал разные решения для удаления этих символов, но не смог. У вас есть практическое решение?
Примечание. Я использовал различные функции преобразования кодировки (например, iconv, utf8_encode и т. д.) Для достижения эквивалента UTF-8, но ни одна из них не помогла мне преобразовать ASCII в UTF-8.
что-то вроде: stackoverflow.com/questions/53051684/…
Я не могу быть уверен, какой дополнительный символ может быть добавлен к последней строке. Так что ваше решение мне не подходит
вот почему вы делаете белый список разрешенных символов






результат, который вы показываете, является кодировкой utf-8, заканчивается на '▯', просто отфильтруйте символ ▯ с регулярным выражением, нет? или лучше всего использовать белый список для разрешенных символов.