PHP连接MSSQL显示中文时为乱码

 更新时间:2016年11月25日 16:34  点击:1720
PHP连接MSSQL显示中文时为乱码主要是因为编码问题了,我们只要懂得一对于数据库与页面的编码统一处理就可以解决了,下面一起来看看下文。

因为一直在使用 windows 下的 PHP 开发,用的是 mysql 数据库,偶尔也会遇到查询记录的乱码,那是因为 php 编码不支持中文进行导致的,直接将其进行编码解码即可解决,所以在 windows 平台下还是比较容易解决的。

今天在帮一个客户进行 liunx 下维护 mssql 数据库的操作,因站点被攻击的原因,一直无法进行打开站点,折腾了很久,终于连接上mssql了,今天来了尝试下查询,么问题!

可是出来的记录 中文 显示是?号或者就是一堆黑框框,这是典型的编码不对,于是查看了下php.ini关于mssql的这一块配置,发现有一项配置”mssql.charset”这一项,我配置成 “utf8”,成功解决乱码。

因为我的程序页面用的是utf8所以配置成这样,如果是GBK/GB2312 就配置长相应的编码就应该能解决,当然遇到这样的问题还是要看相应情况的,这里还是建议如果能修改配置文件尽可能的去修改配置文件,因为这样才能一劳永逸的解决掉问题。

例子

 代码如下 复制代码

$serverName = "127.0.0.1,1433";
$connectionInfo = array( "UID"=>"sa",
"PWD"=>"123456",
"Database"=>"NopCommerce",
"CharacterSet"=>"UTF-8"); // 这一行是重点
$conn = sqlsrv_connect($serverName, $connectionInfo);

注意事项:

编码常用的是utf8-general-ci
不只是表要统一,要统一的总共有四处
一是:数据库类型,其中包括,数据库,表,字段三处都要统一,可以检查一下
二是:文件的编码类型,你若用dw或editplus可以查看页面编码,不同需修改
三是:访问数据库时的设置既set NAMES utf8;
四是:浏览器显示方式,添加meta属性<meta charset=utf-8>
不管用GBK,GB2312,这四处必须统一,看你缺少了哪一步

用PHP操作MSSQL比在ASP连接MYSQL要简单,所以,当需要MSSQL与MYSQL并存时,用PHP连接MSSQL来操作MYSQL与MSSQL并存比较简单好用.如果是ASP连接MYSQL,需要安装一个MYSQL驱动,默认windows的ODBC没有安装,很遗憾...
1.在web服务器上至少安装了mssql的客户端
2.打开php.ini把;extension=php_mssql.dll前面的分号去掉
有必要话:需要制定extension_dir
3.推荐使用php<=4.0.9<=5.0.3目前我还没有连接成功过4.010和5.0.3
4.数据库的连接分页可以到phpe.net上获取到相应的class

下面来看一个关于利用jqgrid+加mysql的text类型实现简单自定义数据模型例子,希望对各位有帮助哦。
有的时候,我们做东西可能速度和安全在前期并不是我们考虑的重点,数据的灵活性可能对于一个不成熟的系统更加重要,这里我使用thinkphp+mysql+jqgrid做了一个简单的自定义数据模型。简单总结一下。
以前我也写过一个自定义模型:php一种不增加字段的自定义表单实现,但是当时因为没有jqgrid这样比较好用的工具,所以当时那个还是比较麻烦,这次当然也是不增加字段的,利用数据的text类型加json数据,实现虚拟的“表”。听到这里,有的同学应该知道,如果我们使用mongodb其实做起来就更加的灵活和简便。但是,因为这个东西比较小,就先这样用着了。
如图:利用jqgrid+加mysql的text类型实现简单自定义数据模型
首先功能特点
通过配置文件,动态配置字段的key,类型,排序,显示,是否必填等等
比如图片类型,定义为image即可,

看一下配置文件

 代码如下 复制代码

<?php
return array(
    //包名前缀
    'pack_pre' => 'Pack_',
    //商品管理字段配置
    /**
     * key为字段索引、存储字段
     * name为字段显示名称
     * required是否必填1是0不是
     * hidden:列表是否显示,1隐藏,0显示,此选项会影响搜索,但不影响编辑
     * type类型:<img,url,text>三种类型
     * 字段显示顺序与key的顺序一致
    */
    'goodsfield' => array(
        //id为系统保留字段
        //商品名
        'title' =>array(
            'name'    =>'商品名',
            'hidden'  =>0,
            'required'=>1,
            'type'    =>'text',
        ),
        //spu
        'spu' =>array(
            'name'    =>'spu',
            'hidden'  =>0,
            'required'=>1,
            'type'    =>'text',
        ),
        //图片地址
        'image' =>array(
            'name'    =>'图片地址',
            'hidden'  =>0,
            'required'=>1,
            'type'    =>'img',
        ),
        //url
        'url' =>array(
            'name'    =>'详情地址',
            'hidden'  =>0,
            'required'=>1,
            'type'    =>'url',
        ),

    ),
    //以下两个映射针对goodsfield而言
    //goods_info api map,无映射即使用原字段
    'goodsinfomap'=>array(

    ),
    //pack post api map,商品包下发amc字段映射无映射即使用原字段
    'map'=>array(

    ),
);


可以通过配置,非常方便修改,并一改全改,增删改。
2,html的jqgrid代码

 代码如下 复制代码
jQuery("#goodsList").jqGrid({
       url:'__APP__?m=Home&a=getList',
    datatype: "json",
    mtype: 'POST',
       colNames:['ID',<{$feildname}>,'修改时间','操作'],
       colModel:[
           {name:'id',width:25,index:'id',setGridHeight:"auto"},
        <{$feildmap}>
        {name:'lastdotime',sortable:true},
        {name:'edit',search:false,sortable:false},
       ],
       rowNum:10,
       rowList:[10,20,30],
    multiselect:true,  //复选框
       pager: '#goodsPager',
       sortname: 'lastdotime',
    viewrecords: true,
    sortorder: "desc",
    editurl:'__APP__?m=Home&a=oper',//添加修改操作url
    autowidth:true,
    height:'100%'
});

3,三个比较重要的函数

 

 代码如下 复制代码
<?php
//获取字段名称
function feild_name($feild){
    $fields = C($feild);
    $feild = '';
    foreach($fields as $val){
        $feild .="'".$val['name']."',";
    }
    $feild = rtrim($feild,',');
    return $feild;
}
//获取字段字典
function feild_map($feild){
    $fields = C($feild);
    $feildmap ='';
    foreach($fields as $key=>$val){
        $feildmap .= '{name:\''.$key.'\',sortable:false,editable:true';
        if(1==$val['hidden']){
            $feildmap .=',hidedlg:true,hidden:true,editrules:{edithidden:true,';
        }else{
            $feildmap .= ',editrules:{';
        }
        if(1==$val['required']){
            $feildmap .='required:true}';
        }else{
            $feildmap .='required:false}';
        }
        $feildmap .= '},'."\n";
    }
    return $feildmap;
}
//获取字段列表
function feild_list($feild,$array=array(),$row=array()){
    $row = json_decode($row['value'],true);
    $fields = C($feild);
    foreach($fields as $key=>$val){
        switch($val['type']){
            case 'url':$array[]='<a href="'.$row[$key].'" style="color:#0018D1" target="_blank">'.$row[$key].'</a>';break;
            case 'img':$array[]='<img src="'.$row[$key].'" width="60" />';break;
            default:$array[] = $row[$key];
        }
    }
    return $array;
}

代码没有什么,就是通过json对象动态配置。

php中mysql与mysqli对于数据库的连接操作是有所区别的,从最基于的区别来看是ysqli 连接是永久连接,而mysql是非永久连接了,下面我们来深入的分析它们两的区别哦。

首先,两个函数都是用来处理数据库操作的。

mysqli 连接是永久连接,而mysql是非永久连接。

mysql连接每当第二次使用时,都会重新打开一个新的进程,而mysqli则只使用同一个进程,可以很大程度的减轻服务器端压力。

其次,mysqli封装了诸如事务等一些高级操作,同时封装了数据库操作过程中的很多可用的方法。

具体查看 http://cn.php.net/mysqli

在实际使用中,较多使用到mysqli的事务。

例子:

 

 代码示例:

$mysqli = new mysqli('localhost','root','','DB_Lib2Test');

$mysqli->autocommit(false);//开始事物

$mysqli->query($sql1);

$mysqli->query($sql2);

if(!$mysqli->errno){

$mysqli->commit();

  echo 'ok';

}else{

echo 'err';

 $mysqli->rollback();

}

第二部分,php中关于mysqli和mysql区别

php-mysql 是 php 操作 mysql 资料库最原始的 extension ,php-mysqli 的 i 代表 improvement ,提更了相对进阶的功能,就 extension 而言,本身也增加了安全性。而 pdo (php data object) 则是提供了一个 abstraction layer 来操作资料库。

例子:

 

 代码示例:

<?php

mysql_connect($db_host, $db_user, $db_password);

mysql_select_db($dn_name);

$result = mysql_query("SELECT `name` FROM `users` WHERE `location` = '$location'");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))

{

echo $row['name'];

}

mysql_free_result($result);

?>

这种方式不能 Bind Column ,以前例的 SQL 叙述来说,$location 的地方容易被 SQL Injection。后来于是发展出了 mysql_escape_string() (备注:5.3.0之后弃用) 以及 mysql_real_escape_string() 来解决这个问题,不过这麽一搞,整个叙述会变得?杂且丑陋,而且如果栏位多了,可以想见会是怎样的情形…

例子:

 

 代码示例:

<?php

$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",

mysql_real_escape_string($user),

mysql_real_escape_string($password));

mysql_query($query);

?>

在 php-mysqli 中有了不少进步,除了透过 bind column 来解决上述问题,而且也多援 transaction, multi query ,并且同时提供了 object oriented style (下面这段 php-mysqli 范例的写法) 和 procedural style (上面 php-mysql 范例的写法)两种写法…等等。

例子:

 

 代码示例:

<?php

$mysqli = new mysqli($db_host, $db_user, $db_password, $db_name);

$sql = "INSERT INTO `users` (id, name, gender, location) VALUES (?, ?, ?, ?)";

$stmt = $mysqli->prepare($sql);

$stmt->bind_param('dsss', $source_id, $source_name, $source_gender, $source_location);

$stmt->execute();

$stmt->bind_result($id, $name, $gender, $location);

while ($stmt->fetch())

{

echo $id . $name . $gender . $location;

}

$stmt->close();

$mysqli->close();

?>

但看到这边又发现了一些缺点,例如得 bind result,这个就有点多馀,不过这其实无关紧要,因为最大的问题还是在于这不是一个抽象(abstraction)的方法,所以当后端更换资料库的时候,就是痛苦的开始…

于是 pdo 就出现了(备注:目前 ubuntu 和 debian 来说,pdo 并没有直接的套件可以安装,而是必须透过 pecl 安装)。

 

 代码示例:

roga@carlisten-lx:~$ pecl search pdo

=======================================

Package Stable/(Latest) Local

PDO 1.0.3 (stable) PHP Data Objects Interface.

PDO_4D 0.3 (beta) PDO driver for 4D-SQL database

PDO_DBLIB 1.0 (stable) FreeTDS/Sybase/MSSQL driver for PDO

PDO_FIREBIRD 0.2 (beta) Firebird/InterBase 6 driver for PDO

PDO_IBM 1.3.2 (stable) PDO driver for IBM databases

PDO_INFORMIX 1.2.6 (stable) PDO driver for IBM Informix INFORMIX databases

PDO_MYSQL 1.0.2 (stable) MySQL driver for PDO

PDO_OCI 1.0 (stable) Oracle Call Interface driver for PDO

PDO_ODBC 1.0.1 (stable) ODBC v3 Interface driver for PDO

PDO_PGSQL 1.0.2 (stable) PostgreSQL driver for PDO

PDO_SQLITE 1.0.1 (stable) SQLite v3 Interface driver for PDO

pdo_user 0.3.0 (beta) Userspace driver for PDO

当透过 pecl 安装装好后,就可以透过以下方式来操作资料库:

 

 代码示例:

<?php

$dsn = "mysql:host=$db_host;dbname=$db_name";

$dbh = new PDO($dsn, $db_user, $db_password);

$sql = "SELECT `name`, `location` FROM `users` WHERE `location` = ? , `name` = ?";

$sth = $dbh->prepare($sql);

$sth->execute(array($location, $name));

$result = $sth->fetch(PDO::FETCH_OBJ);

echo $result->name . $result->location;

$dbh = NULL;

?>

乍看之下,pdo 的程式码好像也没有比较短,那到底好处是什麽呢?

1. pdo 连接资料库时透过 connection string 来决定连接何种资料库。

2. pdo 可以透过 pdo::setattribute 来决定连线时的设定,像是 persistent connection, 回传错误的方式(exception, e_warning, null)。甚至是回传栏位名称的大小写…等等。

2. pdo 支援 bind column 的功能,除了基本的 prepare, execute 以外,也可以 bind 单一栏位,并且指定栏位型态。

4. pdo 是 abstraction layer 所以就算更换储存媒介,需要花的功夫比起来是最少的。

可惜的是,??管这些东西都已经出现很久了,但还是不够大众化。我想或许是肇因于大家习惯看坊间的书籍学习,但那些书本往往只会介绍最简单最传统的方式。导致很多人还是在用 mysql 这种方直接连资料库。

最喜爱透过 dbi 来连接资料库,像是 activerecord 以及 propel orm(object-relational mapping)。

例如说以 activerecord 为例,如果要实现这样的 sql 叙述…

insert into `users` (id, name, gender, location) values(1, 'roga', 'male', 'tpe')

以 pdo 来写是:

 

 代码示例:

<?php

$sql = "INSERT INTO `users` (id, name, gender, location) VALUES(?, ?, ?, ?)";

$sth = $dbh->prepare($sql);

$sth->execute(array(1, 'roga', 'male', 'tpe'));

?>

但以 ActiveRecord 来说的话,则是:

 

 代码示例:

<?php

$user = new User();

$user->id = 1;

$user->name = 'roga';

$user->gender = 'male';

$user->location = 'tpe';

$user->save();

?>

后者在语法上是不是简洁很多呢,而且也大幅降低对 SQL 语言的依赖性!(不同资料库对 SQL 实作的问题可参考 Comparison of different SQL implementations)

以上是一些简单的介绍,如有疏漏谬误也欢迎大家补充。

mysql是非持继连接函数而mysqli是永远连接函数。也就是说

mysql每次链接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销

有些朋友在编程的时候,使用new mysqli('localhost', usenamer', 'password', 'databasename');总是报

错,Fatal error: Class 'mysqli' not found in d:...

mysqli类不是php自带的吗?

不是默认开启的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去。

一:Mysqli.dll是一个允许以对象的方式或者过程操作数据库的,它的使用方式也很容易。这里就几个常见的操作和 mysql.dll做一个对比。

1、mysql.dll(可以理解为函数式的方式):

 

 代码示例:


$conn = mysql_connect('localhost', 'user', 'password'); //连接mysql数据库

mysql_select_db('data_base'); //选择数据库

 

$result = mysql_query('select * from data_base');//这里有第二个可选参数,指定打开的连接

$row = mysql_fetch_row( $result ) ) //为了简单,这里只取一行数据

echo $row[0]; //输出第一个字段的值

mysqli也有过程式的方式,只不过开始贯以mysqli的前缀,其他都差不多。如果mysqli以过程式的方式操作的话, 有些函数必须指定资源,比如说 mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的,而 mysql_query(SQL语句,'可选')的资源标识是放在后面的,并且可以不指定,它默认是上一个打开的连接或资源。

2、mysqli.dll(对象方式):

 

 代码示例:


$conn = new mysqli('localhost', 'user', 'password','data_base');

//这里的连接是new出来的,最后一个参数是直接指定数据库,不用mysql_select_db()了

//也可以构造时候不指定,然后 $conn -> select_db('data_base')

$result = $conn -> query( 'select * from data_base' );

$row = $result -> fetch_row(); //取一行数据

echo row[0]; //输出第一个字段的值

二、mysql_fetch_row(),mysql_fetch_array()

这两个函数,返回的都是一个数组,区别就是第一个函数返回的数组是只包含值,我们只能$row[0],

$row[1],这样以数组下标来读取数据,而mysql_fetch_array()返回的数组既包含第一种,也包含键值

对的形式,可以这样读取数据,(假如数据库的字段是 username,passwd):

 

 代码示例:

$row['username'], $row['passwd']

而且,如果用($row as $kay => $value)来操作的话,还以直接取得数据库的字段名称。

更主要的是mysqli是php5提供的新函数库,(i)表示改进,其执行速度更快。

PDO是mysql数据库操作的一个公用类了,我们不需要进行自定类就可以直接使用pdo来操作数据库了,但是在php默认配置中pdo是未开启所以我们必须先在php.ini中开启它才可以使用,下文我会讲到。

PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,
这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。

PDO支持的PHP版本为PHP5.1以及更高的版本,而且在PHP5.2下PDO默认为开启状态,
下面是在php.ini中PDO的配置:

extension=php_pdo.dll

为了启用对某个数据库的支持,需要在php配置文件中将相应的扩展打开,例如要支持MySQL,需要开启下面的扩展

extension=php_pdo_mysql.dll

这里是使用PDO对mysql进行基本的增删改查操作

程序代码:

 代码如下 复制代码

header("content-type:text/html;charset=utf-8");

$dsn="mysql:dbname=test;host=localhost";
$db_user='root';
$db_pass='admin';

try{
 $pdo=new PDO($dsn,$db_user,$db_pass);
}catch(PDOException $e){
 echo '数据库连接失败'.$e->getMessage();
}

//新增
$sql="insert into buyer (username,password,email) values ('ff','123456','admin@admin.com')";
$res=$pdo->exec($sql);
echo '影响行数:'.$res;


//修改
$sql="update buyer set username='ff123' where id>3";
$res=$pdo->exec($sql);
echo '影响行数:'.$res;

//查询
$sql="select * from buyer";
$res=$pdo->query($sql);

foreach($res as $row){
 echo $row['username'].'<br/>';
}

//删除
$sql="delete from buyer where id>5";
$res=$pdo->exec($sql);
echo '影响行数:'.$res;

下面是一个站长写的一个非常简单实用的数据库操作类了,这里面主要功能是数据库连接,查询数据,删除数据,更新数据等等,这个类的特点时不限制mysql而是直接执行由外部给出的sql语句了。

例子

 代码如下 复制代码

<?php
class SqlTool{
private $conn;
private $host=”localhost”;
private $user=”root”;
private $password=”";
private $db=”bbs”;
function sqlTool(){
$this->conn=mysql_connect(“$this->host”,”$this->user”,”$this->password”);
mysql_select_db($this->db,$this->conn);
mysql_query(“set names gbk”);
}
function executedql($sql){
$res=mysql_query($sql);
return $res;
}
function executedml($sql){
$b=mysql_query($sql);
if(!$b){
echo “操作失败”;
}else{
if(mysql_affected_rows($this->conn)>0){
echo “操作成功”;
}else{
echo “没有影响到行数”;
}
}
mysql_close($this->conn);
}
}
?>

[!--infotagslink--]

相关文章

  • php生成二维码中文乱码问题解决方法

    最近做了个扫描二维码得到vcard的项目,遇到一个问题,有一部分生成完的二维码,用android系统手机扫描后得到的vcard中的中文姓名是乱码,经过比对发现,这部分vcard中ORG这个...2016-11-25
  • js URLdecode()与urlencode方法支持中文解码

    下面来介绍在js中来利用urlencode对中文编码与接受到数据后利用URLdecode()对编码进行解码,有需要学习的机友可参考参考。 代码如下 复制代码 ...2016-09-20
  • 运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)

    今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下...2020-06-30
  • 关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

    最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。首先:用show variables like “%colla%”;show varables like “%char%”;这两条...2015-11-24
  • C#读取中文文件出现乱码的解决方法

    这篇文章主要介绍了C#读取中文文件出现乱码的解决方法,涉及C#中文编码的操作技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • Mysql在debian系统中不能插入中文的终极解决方案

    在debian环境下,彻底解决mysql无法插入和显示中文的问题Linux下Mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>use...2013-10-04
  • Windows服务器MySQL中文乱码的解决方法

    我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15
  • linux mint 下mysql中文支持问题

    一.mysql默认不支持中文,它的server和db默认是latin1编码.所以我们要将其改变为utf-8编码,因为utf-8包含了地球上大部分语言的二进制编码 1.关闭mysql服务 sudo /etc/init.d/mysql stop 2.修改mysql配置文件 mysql配...2015-10-21
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • PHP json_encode() 函数详解及中文乱码问题

    在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式。<&#63;php$arr = array ( 'Name'=>'希亚', 'Age'...2015-11-08
  • js有序数组的连接问题

    1.前言 昨天碰到一道关于如何解决有序数组的连接问题,这是一个很常见的问题。但是这里要考虑到代码的效率问题,因为要连接的数组都是有序的,这是一个非常重要的前提条件。2.简单但效率不高的算法 我首先想到的是使用...2013-10-04
  • Java连接数据库oracle中文乱码解决方案

    这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16
  • 解决HttpPost+json请求---服务器中文乱码及其他问题

    这篇文章主要介绍了解决HttpPost+json请求---服务器中文乱码及其他问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-22
  • C#连接Oracle数据库字符串(引入DLL)的方式

    这篇文章主要给大家介绍了关于C#连接Oracle数据库字符串(引入DLL)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-25
  • php中iconv编码转换来解决中文乱码的问题

    用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些 代码如下 复制代码 ...2016-11-25
  • C#连接到sql server2008数据库的实例代码

    这篇文章主要介绍了C#连接到sql server2008数据库的实例代码,需要的朋友可以参考下...2020-06-25
  • A789如何连接无线网络上网

    A789使用过程中,一般有两种途径满足上网的需求,一是通过手机卡上网,一是通过周边存在的无线网络上网。不论上网的速度、还是从需求的费用看,通过无线网络上网都具有绝对的...2016-09-20
  • MySQL远程连接不上的解决方法

    这篇文章主要为大家详细介绍了MySQL远程连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-26
  • php mail发邮件标题中文乱码的问题解决办法

    本文章来给大家介绍php mail发邮件标题中文乱码的问题解决办法,希望到此类问题的朋友可进入参考。 当使用下面的PHP语句发送电子邮件的时候,如果编码和接收邮箱编码...2016-11-25
  • vscode通过Remote SSH远程连接及离线配置的方法

    这篇文章主要介绍了vscode通过Remote SSH远程连接及离线配置的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-16