[MySQL] problème d'encodage

Suite à un développement interne, on s’est dit qu’il faudrait un jour ou l’autre passer nos applis en utf-8. Seulement, on a un petit problème: notre connecteur mysql pour php refuse de comprendre que mysql lui envoie de l’utf-8. Petite démonstration par l’exemple:

[code]<?php
function showVars($s)
{
$r = mysql_query(“SHOW VARIABLES LIKE ‘%char%’”,$s);
while($pResult=mysql_fetch_assoc($r))
echo “variable name: “.$pResult[“Variable_name”].” value: “.$pResult[“Value”].”
”;
}

$s = mysql_connect(“localhost”,“root”,"");
showVars($s);
echo mysql_client_encoding($s)."
";
mysql_query(“SET NAMES ‘UTF8’”,$s);
showVars($s);
echo mysql_client_encoding($s)."
";
?>[/code]

La réponse:

variable name: character_set_client value: latin1 variable name: character_set_connection value: latin1 variable name: character_set_database value: utf8 variable name: character_set_results value: latin1 variable name: character_set_server value: utf8 variable name: character_set_system value: utf8 variable name: character_sets_dir value: /usr/share/mysql/charsets/ latin1 variable name: character_set_client value: utf8 variable name: character_set_connection value: utf8 variable name: character_set_database value: utf8 variable name: character_set_results value: utf8 variable name: character_set_server value: utf8 variable name: character_set_system value: utf8 variable name: character_sets_dir value: /usr/share/mysql/charsets/ latin1

Comme vous pouvez le constater, le character_set est bien passé à utf-8 grâce à la commande SET NAMES, mais visiblement, le client n’a pas l’air de comprendre que les données qu’il va recevoir sont en utf-8 (mysql_client_encoding renvoie toujours latin1).

Quelqu’un saurait ce qu’il se passe? Ca fait une journée que je fouines le web, pas trouvé ce qui peut merder.

Information complémentaire sur les configs:
la machine est configurée en latin1
le serveur est configuré en full utf-8 et fait tourner un MySQL 4.1.15-Debian_1-log

Yop.

J’ai du chipoter avec ça une fois (fieu… et tout le terme ‘chipoter’ prends tout son sens avec moi) et cette page m’avait bien aidé je crois http://dev.mysql.com/doc/mysql/en/Charset-connection.html

Merci nolan, je connaissais cette page, mais rien dedans n’a pu m’aider…