mysql_set_charset()
sarebbe un'opzione, ma un'opzione limitata a ext/mysql
. Per ext/mysqli
è mysqli_set_charset
e per PDO
::mysql
devi specificare un parametro di connessione.
Poiché l'utilizzo di questa funzione comporta una chiamata all'API MySQL, dovrebbe essere considerata molto più veloce dell'emissione di una query.
Per quanto riguarda le prestazioni, il modo più veloce per garantire una comunicazione basata su UTF-8 tra lo script e il server MySQL è configurare correttamente il server MySQL. Come SET NAMES x
è equivalente
a
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
mentre SET character_set_connection = x
internamente esegue anche SET collation_connection = <<default_collation_of_character_set_x>>
puoi anche impostare queste variabili del server
staticamente nel tuo my.ini/cnf
.
Tieni presente i possibili problemi con altre applicazioni in esecuzione sulla stessa istanza del server MySQL e che richiedono un altro set di caratteri.