Я хочу создать SimpleXMLElement object
через эту строку кода:
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-16"?><Data/>');
Обратите внимание на тег кодирования говорит UTF-16
, Поэтому ошибка Document labelled UTF-16 but has UTF-8 content
происходит.
Я попробовал это так:
$string = '<?xml version="1.0" encoding="UTF-16"?><Data/>';
var_dump(mb_detect_encoding($string, 'UTF-16,UTF-8')); //string(5) "UTF-8"mb_convert_encoding($string, 'UTF-16', 'UTF-8');
var_dump(mb_detect_encoding($string, 'UTF-16,UTF-8')); //string(5) "UTF-8"
$xml = simplexml_load_string($string); //same error
$xml = new SimpleXMLElement($string); //same error
Мое понимание кодировки строк / символов не очень хорошее, возможно, я упускаю что-то очевидное?
Задача ещё не решена.
Других решений пока нет …