У меня есть две строковые переменные - первая переменная задается вручную внутри кода ($date1="14 июня"
), вторая анализируется с удаленной страницы с помощью cURL и phpQuery. Если мы напечатаем обе переменные, результат будет выглядеть одинаково, но длина и содержимое будут другими:
echo $date1; //output: 14 июня
echo $date2; //output: 14 июня
echo $date1[2]; //output is space - third symbol in string
echo $date2[2]; //output is � - it's a part of third symbol in string
echo strlen($date1); //output: 7
echo strlen($date2); //output: 12
echo mb_detect_encoding($date1) //output: UTF-8
echo mb_detect_encoding($date2) //output: UTF-8
Интересно, есть ли решение, как преобразовать $date2
в формат/кодировку $date1
?
p.s. Существует ТАК тема про iconv(), но я не могу найти работающее решение.
strlen()
возвращает11
для текста, который вы разместили (я скопировал строку из вопроса). - person axiac   schedule 16.06.2017echo bin2hex($s)
для обоих. - person zerkms   schedule 16.06.2017var_dump(array_shift(unpack('H*', $dateX)));
- person Ruslan Osmanov   schedule 16.06.2017string(22) "313420d0b8d18ed0bdd18f"
и для даты2:string(14) "3134204a756e65"
- person deeplay   schedule 16.06.2017313420d0b8d18ed0bdd18f
и для даты2:"3134c2a0d0b8d18ed0bdd18f"
- person deeplay   schedule 16.06.2017c2a0
байты, а у первого используется20
в качестве пробела? - person zerkms   schedule 16.06.2017