Почему при парсинге слетает кодировка буквы 'Р'?

Друзья, помогите разобраться с этим фокусом, слетает кодировка одного символа именно большой буквы 'Р', сделал все что мог но не могу понять:

class Pars
{
	private $url_pars;
	private $ch;

	public $fp;

	public function __construct( $print = false ) {
		$headers = array (
			"Content-Type:text/html; charset=UTF-8"
		);

		$this->ch = curl_init();

		if (!$print) {
			curl_setopt( $this->ch, CURLOPT_HTTPHEADER, $headers);
	        curl_setopt( $this->ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36');
			curl_setopt( $this->ch, CURLOPT_RETURNTRANSFER, true );
	        curl_setopt( $this->ch, CURLOPT_FOLLOWLOCATION, true );
	        curl_setopt( $this->ch, CURLOPT_SSL_VERIFYHOST, false );
	        curl_setopt( $this->ch, CURLOPT_SSL_VERIFYPEER, false );
	        //curl_setopt( $this->ch, CURLOPT_FILE, $this->fp );

		}
	}

	public function set( $name, $value ) {
		curl_setopt( $this->ch, $name, $value );
		return $this;
	}

	public function exec( $url_pars ) {
		curl_setopt( $this->ch, CURLOPT_URL, $url_pars );
		return curl_exec( $this->ch );
	}

	public function __destruct() {
		curl_close( $this->ch );
	}

}

а это возвращается
5e295fc26cb97935998788.jpeg
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Вы не дали ссылку на исходную страницу, не привели PHP-шный код разбора данных из текста страницы. Привели только скрипт запуска curl() для загрузки страницы, который к самой проблеме никак... А откуда появилось вот это 7 => string "..." и т.д.? Где этот PHP-код? Не, ну... Ну... Ну это как "у меня авто не едет, а нём все окна помыты и все фары/фонари тряпкой протёрты, помогите-люди-добрые", ей-богу!

А по поводу порчи русской Р (HEX-код которой 0x04 0x20) - известная проблема. В preg_match/preg_replace надо использовать модификатор u: preg_match("/\S+/su", $str);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы