Mysql
 sql >> Database >  >> RDS >> Mysql

PDO equivalente di mysql_client_encoding()?

Ci sono due diversi set di caratteri in questione:

Per accertare il valore corrente di queste variabili utilizzando PDO, è possibile recuperare i risultati del relativo SHOW VARIABLES dichiarazione; ad esempio:

$qry = $db->query("SHOW VARIABLES LIKE 'character_set_client'");

La documentazione per mysql_client_encoding() è alquanto ambiguo, in quanto afferma:

Tuttavia, non esiste una tale variabile di sistema del server:quindi non sono sicuro di quale restituirebbe.

Infine, invece di impostare un MYSQL_ATTR_INIT_COMMAND , puoi specificare il set di caratteri desiderato nel DSN (come menzionato in il manuale ):

$db = new PDO("mysql:dbname=$db;host=$host;charset=$charset", $user, $password);