Я получаю страницу через curl с этим кодом:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$message = curl_exec($ch);
curl_close($ch);
Теперь я хочу сделать некоторые замены в коде в $ message, но перед этим я помещаю код в файл:
file_put_contents('debug_before_replace.txt',$message);
Когда я смотрю на этот файл, весь текст выглядит нормально, например, у меня есть заголовок:
<title>D.O.C.| Jantar Vínico Quinta do Portal | Quinta-feira, 25 de Junho 2009</title>
Теперь я делаю замену:
$ message = str_ireplace (массив (
)
'Тело>',
'/ Тело>'
),
массив (
$ Fraseemcima,
$ frasebaixo
),
$ сообщение
);
А теперь я отправляю сообщение $ в другой файл:
file_put_contents('debug_after_replace.txt',$message);
Когда я смотрю на файл, я вижу это:
<title>D.O.C.| Jantar VÃnico Quinta do Portal | Quinta-feira, 25 de Junho 2009</title>
И в остальной части кода у меня есть все запутанные символы.
Кто-нибудь понимает, почему stri_replace все испортил? Я пытаюсь отправить письмо, и это все портит.
ПРИМЕЧАНИЕ: В замене у меня есть правильные теги body и / body, но если я добавлю
РЕДАКТИРОВАТЬ: я исправил это !!
С этой простой линией все работает и отлично смотрится в перспективе:
$message = utf8_decode(curl_exec($ch));
Спасибо Макбирди и С. Геригу за то, что они указали мне правильное направление.
Полагаю, мне еще нужно кое-что узнать, когда дело доходит до кодировок
Еще раз спасибо