Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Se usar SET NAMES


mysql_set_charset() seria uma opção - mas uma opção limitada ao ext/mysql . Para ext/mysqli é mysqli_set_charset e para PDO ::mysql você precisa especificar um parâmetro de conexão.

Como o uso dessa função resulta em uma chamada à API do MySQL, ela deve ser considerada muito mais rápida do que emitir uma consulta.

Em relação ao desempenho, a maneira mais rápida de garantir uma comunicação baseada em UTF-8 entre seu script e o servidor MySQL é configurar o servidor MySQL corretamente. Como SET NAMES x é equivalente para
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;

considerando que SET character_set_connection = x internamente também executa SET collation_connection = <<default_collation_of_character_set_x>> você também pode definir essas variáveis ​​de servidor estaticamente em seu my.ini/cnf .

Por favor, esteja ciente de possíveis problemas com outros aplicativos rodando na mesma instância do servidor MySQL e exigindo algum outro conjunto de caracteres.