>  기사  >  백엔드 개발  >  PHP가 잘못된 문자를 반환하는 이유는 무엇입니까?

PHP가 잘못된 문자를 반환하는 이유는 무엇입니까?

WBOY
WBOY원래의
2016-08-29 08:50:531480검색

반환된 결과는 다음과 같습니다.

<code>var hq_str_sh601006="������·,6.360,6.350,6.330,6.390,6.320,6.320,6.330,25996996,165270113.000,1055700,6.320,412700,6.310,524900,6.300,116900,6.290,131500,6.280,93700,6.330,340020,6.340,728100,6.350,668100,6.360,928814,6.370,2016-08-26,15:00:00,00"; </code>

다음은 코드입니다. 저도 코드를 작성했는데 왜 여전히 깨졌나요?:

<code><head>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <title>PHP实验-3</title>
</head>


<?php


$url = "http://hq.sinajs.cn/list=sh601006";

$info = getCurlData($url);

echo $info . "</br>" ;



function getCurlData($url)
{
    if (empty ( $url ))
    {
        return false;
    }

    $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_URL, $url );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt ( $ch, CURLOPT_HEADER, 0 );
    $output = curl_exec ( $ch );
    curl_close ( $ch );
    return $output;

}</code>

답글 내용:

반환된 결과는 다음과 같습니다.

<code>var hq_str_sh601006="������·,6.360,6.350,6.330,6.390,6.320,6.320,6.330,25996996,165270113.000,1055700,6.320,412700,6.310,524900,6.300,116900,6.290,131500,6.280,93700,6.330,340020,6.340,728100,6.350,668100,6.360,928814,6.370,2016-08-26,15:00:00,00"; </code>

다음은 코드입니다. 저도 코드를 작성했는데 왜 여전히 깨졌나요?:

<code><head>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <title>PHP实验-3</title>
</head>


<?php


$url = "http://hq.sinajs.cn/list=sh601006";

$info = getCurlData($url);

echo $info . "</br>" ;



function getCurlData($url)
{
    if (empty ( $url ))
    {
        return false;
    }

    $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_URL, $url );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt ( $ch, CURLOPT_HEADER, 0 );
    $output = curl_exec ( $ch );
    curl_close ( $ch );
    return $output;

}</code>

마지막으로

return iconv('gbk', 'UTF-8', $output);로 변경하면 됩니다. 핵심은 GBK

의 원본 사이트입니다.

<code>~   ᐅ curl -I http://hq.sinajs.cn/list\=sh601006
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Length: 250
Connection: Keep-Alive
Content-Type: application/x-javascript; charset=GBK</code>

원래 사이트는 gbk

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.