PHP connettersi a SQL server 2008 – Come impostare la codifica utf-8 utilizzando odbc_connect

Io utilizzando ODBC per connettersi a sql server 2008 come

$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);

Ma mi da testo non corretto come

b?�o c?�o việc sử dụng

cerco di utilizzo odbc_exec($conn, "SET names utf8");
ma ottenere errore

 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

Come utf-8 utilizzando odbc_connect grazie

InformationsquelleAutor DeLe | 2013-09-11



One Reply
  1. 2

    odbc_exec non accettare “SET NAMES utf8′ come secondo parametro. il secondo parametro deve essere la query.

    per set utf8 per le variabili utilizzare utf8_decode o iconv

    $col1=utf8_decode(odbc_result($rs, "name"));

    o

    $col1=odbc_result($rs, "name");
    iconv("UTF-8", "CP1252", $col1);

    e

    Attenzione: odbc_exec(): SQL errore: [Microsoft][SQL Server Native Client 10.0][SQL Server]’nomi’ non è riconosciuta per IMPOSTARE l’opzione., SQL stato 37000 in SQLExecDirect in C:\xampp\htdocs\sql\index.php on line 32

    questo non è un errore, è un AVVERTIMENTO. ma controllare odbc_exec manuale per garantire a tutti.

Lascia un commento