Я ищу строку version
в тексте, считанном из файла с прямым порядком байтов Unicode.
С $ text 'version
(подразумевается апостроф) я получаю
echo strpos($text, "r"); // Returns 7.
echo strpos($text, "version"); // Returns null.
Я подозреваю, что мне нужно конвертировать иглу или стог сена в тот же формат.
- Я посмотрел на mb_strpos, но он не выполняет поиск текста так же, как strpos.
- Я также рассмотрел вопрос об изменении строки иглы на UTF-8, но пока нетЯ еще не пробовал.Это выглядит немного грязно.
Есть идеи?
Обновление после ответа cmbuckley.
$var = iconv('UTF-16LE', 'UTF-8', $fields[0]);
// Returns Notice: iconv(): Detected an incomplete multibyte character in ...input string in
Итак, я проверил существующую кодировку и нашел
echo mb_detect_encoding($fields[0], mb_detect_order(), false); // Returns 'ASCII'.
Это сбивает с толку.Если строка ASCII, почему у меня возникли проблемы с исходной функцией strpos
?
Обновление 2
Шестнадцатеричное кодирование 'version
- 2700 5600 6500 7200 7300 6900 6f00 6e00
.
Какая это кодировка?