PHP连接SQLSERVER及中文乱码问题

原文链接:https://www.cnblogs.com/hhlotus/p/12718748.html

 

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 />;     } }