Onde a conexão PHP / MySQL leva seu charset padrão?

2

Eu uso mysql_connect em um banco de dados definido apenas em UTF-8. Onde quer que eu possa olhar na configuração, vejo UTF-8 Unicode (utf8) ou utf8_general_ci .

No entanto, quando abro a conexão PHP, uso echo mysql_client_encoding(); , recebo latin1 como saída, o que é bastante inesperado. É tirado de algum tipo de configuração PHP / Apache?

    
por Lazlo 11.07.2011 / 18:36

2 respostas

3

Em /etc/mysql/my.cnf adicione esta linha em [client]

default-character-set=utf8 
    
por 11.07.2011 / 18:39
0

Você precisa configurar a codificação para sua conexão PHP MySQL, pois ela não a lê na sua definição de tabela / banco de dados. Faça assim:

mysql_set_charset('utf8',$link);
// or in OOP style:
$mysqli->set_charset('utf8');
    
por 11.07.2011 / 18:43