站长资讯网
最全最丰富的资讯网站

php gb2312怎么转换为utf8

php gb2312转换为utf8的方法:1、打开相应的PHP文件;2、检查原始编码;3、通过使用preg_replace和iconv函数将gb2312页面转换为utf8页面即可。

php gb2312怎么转换为utf8

本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。

php gb2312怎么转换为utf8?

PHP gb2312页面 转换为utf8页面

用到2个函数 preg_replace, iconv

  $html = preg_replace('/charset=gb2312/', 'charset=UTF8', $html);      // $enc = mb_detect_encoding($html);      $html = iconv('gbk', 'utf-8', $html);

https://php.net/manual/en/function.iconv.php

https://www.php.net/manual/en/function.preg-replace.php

参考php官网的示例

Example #2  Using indexed arrays with preg_replace() <?php $string = 'The quick brown fox jumps over the lazy dog.'; $patterns = array(); $patterns[0] = '/quick/'; $patterns[1] = '/brown/'; $patterns[2] = '/fox/'; $replacements = array(); $replacements[2] = 'bear'; $replacements[1] = 'black'; $replacements[0] = 'slow'; echo preg_replace($patterns, $replacements, $string); ?> Example #1  iconv() example <?php $text = "This is the Euro symbol '€'.";  echo 'Original : ', $text, PHP_EOL; echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL; echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL; echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;  ?>

* testurl.php

<?php /**  * Created by PhpStorm.  * User: mingzhanghui  * Date: 8/30/2019  * Time: 09:38  */  function __autoload($className) {     include dirname(__FILE__).'/lib/'.$className.'.php'; }  header('Content-Type: text/html; charset=UTF8');  // http://47.93.27.106:8064/testurl.php?url=https://www.sk666.vip $url = $_GET['url'];  try {     $html = Curl::testURL($url);     $html = preg_replace('/charset=gb2312/', 'charset=UTF8', $html);     // $enc = mb_detect_encoding($html);     $html = iconv('gbk', 'utf-8', $html);     echo $html; } catch (Exception $e) {     Response::fail($e->getMessage(), $e->getCode()); }

* Curl.php

<?php /**  * Created by PhpStorm.  * User: mingzhanghui  * Date: 8/29/2019  * Time: 15:34  */ class Curl {     /**      * @param $map      * @return string      */     public static function buildQuery(/* array */ $map) {         $a = [];         array_walk($map, function($value, $name) use (&$a) {             array_push($a, sprintf("%s=%s", urlencode($name), urlencode($value)));         });         return implode('&', $a);     }      /**      * https://www.ft12.com      * @param $u      * @return mixed      * @throws Exception      */     public static function shortURL($u) {         $api = "http://api.ft12.com/api.php";         return self::get($api, [             'url' => $u,             'apikey' => '******', // 发邮件至aiqing174@qq.com索取apikey         ]);     }      public static function testURL($u) {         $api = "http://qbview.url.cn/getResourceInfo";         return self::get($api, [             'appid' => 31,             'url' => $u         ]);     }      /**      * @param $host string      * @param $params array assoc      * @return mixed      * @throws Exception      */     protected static function get($host, $params) {         $ch = curl_init();         $headers = [             "Accept: application/json",             "X-Requested-with: XMLHttpRequest",         ];         $qs = self::buildQuery($params);         $fullURL = sprintf("%s?%s", $host, $qs);          curl_setopt_array($ch, [             CURLOPT_URL => $fullURL,             CURLOPT_HEADER => 0,             CURLOPT_RETURNTRANSFER => 1,             CURLOPT_HTTPHEADER => $headers,             CURLOPT_CONNECTTIMEOUT => 5         ]);          $data = curl_exec($ch);         $errno = curl_errno($ch);         if ($errno) {             throw new Exception("%sn", curl_error($ch), $errno);         }         curl_close($ch);         return $data;     }  }

原网页内容如下:

<html><head> <meta http-equiv="Content-Language" content="zh-CN"> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta content="telephone=no" name="format-detection"> <link rel="stylesheet" type="text/css" href="http://rd.wechat.com/static/zh_CN/default/css/redirect_confirm.css?v=1375841702"> <title>͡ʾ</title> <style> .container { } .sectionContent { text-shadow:0 1px 0 #f5f5f5;font-size:18px; } .sectionPannel {} .firstP .lastP{ text-shadow:0 1px 0 #f5f5f5;} .lastP { font-size:14px; } a.normalLink { font-size:14px;text-decoration:none;color:#1587C1;font-weight:bold;text-shadow:0 1px 0 #f5f5f5; } .confirm{padding:20px 15px;} .confirm a.icon_info { display:block;border-radius:20px;background:#999;font-weight:bold;font-size:14px;color:#eee;text-shadow:0 1px 0 #333;border-top:1px solid #ddd;border-bottom:1px solid #fff;width:20px;height:20px;line-height:20px;margin:0 auto;text-decoration:none;padding:0;font-family:Georgia; } .confirm .greenBtn b{font-weight:400} .minorLink { margin-top: 20px;padding:10px;font-weight:normal;font-size:14px;text-shadow:0 1px 0 #f5f5f5;text-decoration:none;color:#737373;line-height:1.5;background:transparent url("http://rd.wechat.com/static/zh_CN/default/img/bg_line.png?v=") no-repeat top center; } .sectionPannel .sectionContent .url{max-height:100%;} .url_box{ margin: 5px; padding: 5px 0; border-top: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5; box-shadow: inset 0 1px 0px #FEFEFE, 0 1px 0px #FEFEFE;} .url_box .url_wrp{margin: 0; max-height: 72px; overflow: hidden;} .icon_warn{ height:160px; background:url("http://rd.wechat.com/static/zh_CN/default/img/icon_warn.png?v=") no-repeat center; margin-bottom:20px; -webkit-background-size:160px; background-size:160px; } .icon_link{ height:100px; background:url("http://rd.wechat.com/static/zh_CN/default/img/icon_link.png?v=") no-repeat center; margin-bottom:20px; -webkit-background-size:100px; background-size:100px; } @media all and (-webkit-min-device-pixel-ratio: 1.5) { .icon_warn{ background-image:url("http://rd.wechat.com/static/zh_CN/default/img/icon_warn_1.5x.png?v="); -webkit-background-size:160px; background-size:160px; } .icon_link{ background-image:url("http://rd.wechat.com/static/zh_CN/default/img/icon_link_1.5x.png?v="); -webkit-background-size:160px; background-size:160px; } .minorLink{ background-image:url("http://rd.wechat.com/static/zh_CN/default/img/bg_line_1.5x.png?v="); -webkit-background-size:320px 6px; background-size:320px 6px; } } </style> </head> <body> 	<!--  	Ԑɽ¸? 	1	%mtt_original_url£¬֢ˇһ¸?§·ĎʵŔ­ʼurl 	2 %mtt_qbview_url£¬ѨҪ³ꈡ+תëµõrl£¬ԲĻט¶¨в+³ꈡ±늶 	3 %mtt_proxy_url£¬ ǕͨOאתµŐ鈳¡£ 	 	--> <section class="container"> <p class="confirm" style="padding-top:0"> <!--alertIcon1 use for state1,alertIcon2 use for state2--> <p class="section icon_link "></p> <p class="section sectionPannel">  <p class="sectionContent" style="margin-bottom:20px;word-break: break-all"> <p class="url firstP" style="color:#737373;font-size:14px;"> ţ½«Ҫ·Ďʵ <p class="url_box"><p class="url_wrp" id="url">https://www.sk666.vip</p></p> <p style="color:red">´畚°²ȫ·萕£¬Ϊ±£֏źµİ²ȫ£¬ӑ°?9½ء£</p> </p> </p>  </p> </p> </section>

推荐学习:《PHP视频教程》

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号