PHP мало что знает о кодировках. В частности, он ничего не знает о кодировке вашего файла.
Данные выглядят как UTF-16LE. поэтому вам нужно преобразовать это во что-то, с чем вы можете справиться - или, поскольку вы просто печатаете, вы можете преобразовать весь скрипт, чтобы вывести его HTML также как UTF-16LE.
Я бы, вероятно, предпочел бы преобразовать в UTF-8 и использовать его в качестве кодировки страницы, так что вы точно не потеряете ни одного символа. Взгляните на iconv , предполагая, что он доступен (я думаю, для Windows требуется расширение PHP).
Обратите внимание, что независимо от того, что вы делаете, вы должны удалить первые два символа первой строки, предполагая, что кодировка всегда одинакова. В данных, которые вы показываете, эти символы являются меткой порядка байтов, которая сообщает нам кодировку файла (UTF-16LE, как я упоминал ранее).
Однако, учитывая то, что он выглядит как простой текст, и все, что вы делаете, - это распечатываете данные, просто откройте их в простом старом текстовом редакторе (который поддерживает Unicode). Не зная вашей операционной системы, я не решаюсь предложить конкретную, но если у вас Windows, а файл относительно небольшой, Блокнот может это сделать.
В качестве примечания, __LINE__
не даст вам номер строки файла, который вы читаете, он напечатает номер строки текущей исполняемой строки скрипта.