protected function filterResponse($response)
    {
        $contentType = $response->getHeader('Content-Type');

        if (!$contentType || false === strpos($contentType, 'charset=')) {
            if (preg_match('/\<meta[^\>]+charset *= *["\']?([a-zA-Z\-0-9]+)/i', $response->getContent(), $matches)) {
                $headers = $response->getHeaders();
                $headers['Content-Type'] = $contentType.';charset='.$matches[1];

                $response = new Response($response->getContent(), $response->getStatus(), $headers);
            }
        }

        return parent::filterResponse($response);
    }
protected function filterResponse($response)
    {
        $contentType = $response->getHeader('Content-Type');

        if (!$contentType || false === strpos($contentType, 'charset=')) {
            if (preg_match('/\<meta[^\>]+charset *= *["\']?([a-zA-Z\-0-9]+)/i', $response->getContent(), $matches)) {
                $headers = $response->getHeaders();
                $headers['Content-Type'] = $contentType.';charset='.$matches[1];

                $response = new Response($response->getContent(), $response->getStatus(), $headers);
            }
        }

        return parent::filterResponse($response);
    }
protected function filterResponse ( $ response ) { $ contentType = $ response -> getHeader ( 'Content-Type' ) ; if ( ! $ contentType || false === strpos ( $ contentType , 'charset=' ) ) { if ( preg_match ( '/\<meta[^\>]+charset *= *["\']?([a-zA-Z\-0-9]+)/i' , $ response -> getContent ( ) , $ matches ) ) { $ headers = $ response -> getHeaders ( ) ; $ headers [ 'Content-Type' ] = $ contentType . ';charset=' . $ matches [ 1 ] ; $ response = new Response ( $ response -> getContent ( ) , $ response -> getStatus ( ) , $ headers ) ; } } return parent :: filterResponse ( $ response ) ; }
Reads response meta tags to guess content-type charset.

@param Response $response

@return Response
Reads response meta tags to guess content - type charset .