Intereting Posts
Как мне пройти через массив PHP, содержащий данные, возвращаемые из MySQL? Как включить функции для php-curl Производительность foreach, array_map с lambda и array_map со статической функцией Как создать многомерный массив из списка? Codeigniter – правильно импортировать JS / CSS / IMG Разрешить пользователю загружать файл после отправки адреса электронной почты Как и где может применяться защита XSS в Laravel? Как объединить два массива случайным образом в PHP Использование блока checkbox PHP с помощью метода GET Symfony 2 присоединяется к неработающей доктрине Javascript не загружается при начальной загрузке страницы PHP Прогулка по многомерному массиву при сохранении ключей Сгенерировать изображения с помощью ImageMagick без сохранения в файл, но все же отображать их на веб-сайте База данных PHP / SQL, запрашивающая передовую практику и безопасность php получает правильную дату по неделям один год, используя strtotime

как конвертировать из Unicode в UTF-8 в PHP?

Я сохранил файл с именем «File1.txt» с контентом (английский и иврит) «שלום hello». его кодировка – Unicode. когда я делаю «readfile» и отправляю заголовок:

Content-type: text/plain;charset=utf-8 

ивритские символы исчезают. Странная часть заключается в том, что когда я снова открываю файл, я вижу символы на иврите (Unicode поддерживает иврит), а UTF-8 расширяет Unicode, поэтому теоретически мне не нужно делать никакого преобразования. Что мне делать?

Строка «его кодировка [ING] является Unicode» не имеет смысла. Существует много способов, которыми Unicode может быть представлен в текстовом файле (одним из них является UTF-8).

Если вы имеете в виду – он был сохранен в Notepad как Unicode, это означает, что файл находится в UTF-16LE. Отправить соответствующий заголовок:

 Content-type: text/plain;charset=utf-16 

И это сработает.

Чтобы ответить на вопрос в заголовке, обычно функция iconv() используется в PHP для преобразования между кодировками. Предупреждение – хотя это может быть недоступно на веб-сервере в размещенной среде.