解决数据库中的中文数据在页面显示乱码的问题
在连接的$connectionInfo中设置"CharacterSet" => "UTF-8",指定编码方式即可
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>$database,"CharacterSet" => "UTF-8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
<?php
$serverName = "als.cn,578"; //数据库服务器地址
$uid = "te_b"; //数据库用户名
$pwd = "al46"; //数据库用户密码
$database="DBAliTemp";//数据库名称
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>$database,"CharacterSet" => "UTF-8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Set up and execute the query. */
$tsql = " select * from 零售通补货单列表 where 仓库='LST重庆省仓' and 状态='收货完成' order by 创建时间 desc";
//$tsql = iconv("UTF-8", "GB2312//IGNORE", $tsql );
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false)
{
echo "Error in query preparation/execution.\n";
die( print_r( sqlsrv_errors(), true));
}
$return = ['status'=>0,'msg'=>'','data'=>[]];
/* Retrieve each row as an associative array and display the results.*/
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC))
{
// echo $row['LastName'].", ".$row['FirstName']."\n";
$get_arr[] = $row;
}
$return['msg'] = 'SUCCESS';
$return['status'] = 1;
$return['data'] = $get_arr;
var_dump($return );
//$json_str=json_encode($return['data'],true);
//echo $json_str;
/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>
<?php
/**1、echo 是语言结构,不是函数或者方法,使用的时候可以不加括号,多用于单行字符串的输出,效率高于print */
echo 'echo大家好<hr/>';
echo('echo大家好<hr/>');
/**2、print()主要用于打印字符串,也是单行输出,但他是函数,使用时要把字符串做为参数传给print()函数 */
print('print大家好<hr/>');
print 'print大家好<hr/>';
/**
* 3、 print_r打印复合类型 如数组 对象--调试专用,但呈现效果不如var_dump
* 可以用来遍历并输出数组的函数,我一般是在调试程序的过程中用来查看数组内容的。
* 也可以用来输出单一的字符串。一般只在调试程序过程中使用。程序写好后,要把这东东去掉。
* 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。
* 但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
* */
print_r('print_r大家好<hr/>');
$array = [1,3.14,'tony',true,[3,4,5]];
print_r($array);
// print_r 'print_r大家好<hr/>'语法不支持,必须加()进行调用
/**4、 var_dump--调试专用
* 判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。
* 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。
* 数组将递归展开值,通过缩进显示其结构。
* */
var_dump('var_dump大家好<hr/>');
$array = [1,3.14,'tony',true,[3,4,5]];
var_dump($array);
?>