Home  >  Article  >  Backend Development  >  Why does php return garbled characters?

Why does php return garbled characters?

WBOY
WBOYOriginal
2016-08-29 08:50:531480browse

The following are the returned results:

<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>

The following is the code, I also wrote the code, why is it still garbled?:

<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>

Reply content:

The following are the returned results:

<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>

The following is the code, I also wrote the code, why is it still garbled?:

<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>

Finally change it to return iconv('gbk', 'UTF-8', $output);It will be ok. The key is the original webpage of 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>

Original site is gbk

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn