PHP连接SQLSERVER中文乱码问题

PHP连接SQLSERVER中文乱码问题

1、SQL语句中有中文会导致查询失败;

2、查询结果有中文会显示乱码。

解决方法(较简单,建议使用):

1、PHP文件保存时选ANSI编码;

  附:VS Code 改变默认文字编码,File(文件)->Preferences(首选项)->Usersettings(设置),搜索encoding,将utf8改为gbk

2、PHP文件头加入

header("Content-Type: text/html; CHARSET=GBK");
解决方法(较麻烦):
 
1、PHP文件保持默认UTF-8编码;
2、查询前对SQL转码
$sql = "SELECT '是'='是'"; 
$sql=iconv('UTF-8','GBK',$sql);

3、查询结果对含中文列转码

$stmt = sqlsrv_query( $conn, $sql);

if($stmt){
    while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
        echo iconv('GBK','UTF-8',$row[0])."<br />";
    }
}

猜你喜欢

转载自www.cnblogs.com/hhlotus/p/12718748.html