У меня есть файл csv, который я разбираю с PHP. (. На самом деле, это разделенная табуляция) в текстовом редакторе файл выглядит следующим образом:Неопознанные дополнительные символы в файле, обработанные php
Object Id Page/Master Id Page/Master Name ...
Используя этот код:
$f = file_get_contents($filepath);
echo $f;
я получаю в браузере:
��O�b�j�e�c�t� �I�d� �P�a�g�e�/�M�a�s�t�e�r� �I�d� �P�a�g�e�/�M�a�s�t�e�r� �N�a�m�e� ...
со всеми этими символами вопросительного знака. Если я использую strlen() для подсчета количества символов, он сообщает в два раза больше, чем нужно. Я подозреваю, что это имеет какое-то отношение к unicode, но я не уверен, как с этим справиться.
Любые идеи?
Интервал символов почти наверняка указывает, что это файл в формате Юникод. Утф-16 тоже очень вероятно. – Goyuix
В частности, это кодировка UTF-16LE (little-endian), версия UTF-16 Windows вводит в заблуждение как «Unicode». Два байта в начале - это знак байтового байта, который позволит 'utf-16'-with-unspecified-endianness работать, автоматически обнаруживая малозначность. – bobince