我在linux下装的php环境,另外一台服务器装的是sqlserver2005 . 在linux下装了freetds 配置文件主要内容如下如下host = 192.168.7.217
 port = 1433
 tds version = 8.0
client charset = UFT-8在linux下通过tsql连接,查询插入都正常如下
[root@host etc]# /home/software/freetds-0.82/src/apps/tsql -S 192.168.7.217 -U sa -P 123456
locale is "zh_CN.GB2312"
locale charset is "GB2312"
1> use test
2> select * from users
3> go
id      name
34      测试
35      测试
36      测试
37      测试
38      测试
39      测试
27      测试
(7 rows affected)但在写了个php页面,页面编码格式为uft-8
header("Content-type: text/html; charset=utf-8");
$link = mssql_connect("192.168.7.217", "sa","123456");//$link = mssql_connect("127.0.0.1", "sa","123456");
mssql_select_db("test");
$value = iconv("UTF-8", "GBK", "测试");
//$value = iconv("GBK", "UTF-8", "测试");
//mssql_query("insert into users(name) values('$value')");
//mssql_query("insert into users(name) values('测试')");
$result = mssql_query("select * from users");
while($row = mssql_fetch_row($result)){
echo "name ";
echo "GBK:".$row[1]."  uft-8:";
print_r(iconv("GBK", "UTF-8", $row[1]));
echo "<br>";
}然后在浏览器下调用,读出汉字都会是乱码,如果PHP等在windows操作系统下都正常,以下是乱码
name GBK:?? uft-8:??不如何解决,请大家帮帮忙看看,在问一下改变freetds.cnof时,用不用在重启php?