PHP connect SQL server 2008-如何使用odbc\u connect设置utf-8
我喜欢使用ODBC连接sql server 2008PHP connect SQL server 2008-如何使用odbc\u connect设置utf-8,php,sql,sql-server,utf-8,Php,Sql,Sql Server,Utf 8,我喜欢使用ODBC连接sql server 2008 $virtual_dsn = 'DRIVER={SQL Server};SERVER=MyServerName;DATABASE=myDatabase'; $conn = odbc_connect($virtual_dsn,'sa','mypass') or die('ODBC Error:: '.odbc_error().' :: '.odbc_errormsg().' :: '.$virtual_dsn); if (!$conn){
$virtual_dsn = 'DRIVER={SQL Server};SERVER=MyServerName;DATABASE=myDatabase';
$conn = odbc_connect($virtual_dsn,'sa','mypass') or die('ODBC Error:: '.odbc_error().' :: '.odbc_errormsg().' :: '.$virtual_dsn);
if (!$conn){
if (phpversion() < '4.0'){
exit("Connection Failed: . $php_errormsg" );
}
else{
exit("Connection Failed:" . odbc_errormsg() );
}
}
// This query generates a result set with one record in it.
$sql="SELECT TOP 10 * FROM Mytable";
# Execute the statement.
$rs=odbc_exec($conn,$sql);
// Fetch and display the result set value.
if (!$rs){
exit("Error in SQL");
}
while (odbc_fetch_row($rs)){
$col1=odbc_result($rs, "name");
echo "$col1 <br>";
}
// Disconnect the database from the database handle.
odbc_close($conn);
如何使用odbc\u connect设置utf-8谢谢odbc\u exec不接受“设置名称utf8”作为第二个参数。第二个参数必须是查询 要仅为变量设置utf8,请使用或 或 及 警告:odbc_exec():SQL错误:[Microsoft][SQL Server本机客户端10.0][SQL Server]“名称”不是可识别的集合选项,SQL状态37000位于C:\xampp\htdocs\SQL\index.php中的SQLExecDirect的第32行
这不是错误,而是警告。但请检查手册以确保所有。此输出是否输出到web浏览器?您是否在输出内容类型中设置了正确的字符集?另请参见@MichaelBerkowski I have
标题(“内容类型:text/html;charset=utf-8”)代码>在顶部但不工作,并且使用iconv(“Windows-1256”、“UTF-8”、“$col1”)
仍然不工作?我的专栏有排序规则:SQL\u Latin1\u General\u CP1\u CI\u AS,nvarchar(3000)
?这可能已经回答了您的问题:[如何设置SQL连接的字符集][1][1]:
Warning: odbc_exec(): SQL error: [Microsoft][SQL Server Native Client 10.0][SQL Server]'names' is not a recognized SET option., SQL state 37000 in SQLExecDirect in C:\xampp\htdocs\sql\index.php on line 32
$col1=utf8_decode(odbc_result($rs, "name"));
$col1=odbc_result($rs, "name");
iconv("UTF-8", "CP1252", $col1);