PHP5.25 连接 MSSQL 2000, 数据库是中文命名的,页面报错找不到。但实际上又已经获取了查询的信息。求大神帮忙代码
$datebase ='计划';
$conn=mssql_connect("WILLIAM\hitik","sa","hitik123");
//测试连接
if($conn)
{
echo "成功";
}
mssql_SELECT_db($datebase);
////执行查询语句
$query ="select * from BBXX";
$row =mssql_query($query);
////打印输出查询结果
************省略了
?>
页面报警内容:
Warning: mssql_select_db() [function.mssql-select-db]: message: 未能在 sysdatabases 中找到数据库 '璁' 所对应的条目。没有找到具有该名称的条目。请确保正确地输入了名称。
$datebase ='计划';
$conn=mssql_connect("WILLIAM\hitik","sa","hitik123");
//测试连接
if($conn)
{
echo "成功";
}
mssql_SELECT_db($datebase);
////执行查询语句
$query ="select * from BBXX";
$row =mssql_query($query);
////打印输出查询结果
************省略了
?>
页面报警内容:
Warning: mssql_select_db() [function.mssql-select-db]: message: 未能在 sysdatabases 中找到数据库 '璁' 所对应的条目。没有找到具有该名称的条目。请确保正确地输入了名称。
utf-8 的 计划 在 gbk 环境中就是 璁″垝
在php页面里面加上 header('Content-Type: text/html; charset=gb2312'); 那么 数据库里的文字正常, 页面中 echo 打出来的中文就是乱码。 如果是header('Content-Type: text/html; charset=UTF-8') 则刚好相反,我也是晕了
那时间美国佬还没有现在那么坏
1,乱码产生的根源:数据编码和解码所用的字符集不同。
2,解决方案是 围绕统一字符集。
3,PHP把Mysql的数据(Unix/Linux一般默认是utf-8)抓取到,然后传递到前端(Windows中文版一般默认是GBK)显示,必然乱码,这就需要PHP做一个转码的动作(当然通过修正其它位置字符集也可以解决)。
4,总结,乱码和PHP无关,但是PHP转码是其中一个解决方案。