модульное тестирование — PHP заменяет ® на?

Я пытаюсь написать PHP-скрипт, который проверяет, правильно ли установлены программы и библиотеки на компьютере пользователя.

Я генерирую список программ со следующей строкой кода:

$installed_programs_list = shell_exec("wmic product get name,version /format:csv");

Есть одна строка, которая должна быть

Сервисный клиент Intel® Trusted Connect, 1.28.487.1

но сравнение строк не удается, поскольку переменная $ instal_programs_list имеет клиента службы поддержки Intelr Trusted Connect, 1.28.487.1.

Я попытался поиграть с mb_detect_encondig, и он, похоже, не может обнаружить эту линию. Он показывает ASCII для всех других линий, но ничего для линии Intel®. Я пытался заставить UTF-8, но не повезло. Я не знаю, правильно ли я это сделал.

Я попытался сохранить вывод в файл .csv и прочитать обратно с помощью fread (), и строка показывает Intel

вот мой код:

shell_exec("wmic product get name,version /format:csv > software_list.csv");
// get contents of a file into a string
$filename1 = "software_list.csv";
$handle = fopen($filename1, "rb");
$installed_programs_list = fread($handle, filesize($filename1));
fclose($handle);

echo $installed_programs_list;

Далее ниже:

    //check if correct programs are installed
foreach($installed_programs as $value){
if(mb_strpos($installed_programs_list, trim($value)) === false){
print_div("$value not installed.", "red");
$test_passed = 0;
}else{
print_div("$value installed.", "blue");
}
}

Моя цель — создать серию автоматизированных тестов для моей компании на PHP.

Большое спасибо за вашу помощь!

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …