MySQL passer en UTF-8 ?
Le
Une Bévue

J'ai suivi les conseils de :
<http://doc.ubuntu-fr.org/mysql>
et j'ai donc édité mon fichier " /etc/mysql/my.cnf".
en y ajoutant :
character_set_database=utf8
character_set_server=utf8
skip-character-set-client-handshake
une première fois, et :
character-set-database=utf8
character-set-server=utf8
skip-character-set-client-handshake
une seconde fois.
Mais j'ai toujours :
mysql> show variables like "%character%";
+--+-+
| Variable_name | Value |
+--+-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--+-+
mysql> show variables like '%collation%';
+-+-+
| Variable_name | Value |
+-+-+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+-+-+
bien sûr, j'ai redémarré le server entretemps.
alors que je souhaite avoir ***pour toutes mes bd***
utf8 avec collation utf8 fr.
--
L'homme est imparfait, mais ce n'est pas étonnant
quand on pense à l'époque où il a été créé.
— Alphonse Allais
<http://doc.ubuntu-fr.org/mysql>
et j'ai donc édité mon fichier " /etc/mysql/my.cnf".
en y ajoutant :
character_set_database=utf8
character_set_server=utf8
skip-character-set-client-handshake
une première fois, et :
character-set-database=utf8
character-set-server=utf8
skip-character-set-client-handshake
une seconde fois.
Mais j'ai toujours :
mysql> show variables like "%character%";
+--+-+
| Variable_name | Value |
+--+-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--+-+
mysql> show variables like '%collation%';
+-+-+
| Variable_name | Value |
+-+-+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+-+-+
bien sûr, j'ai redémarré le server entretemps.
alors que je souhaite avoir ***pour toutes mes bd***
utf8 avec collation utf8 fr.
--
L'homme est imparfait, mais ce n'est pas étonnant
quand on pense à l'époque où il a été créé.
— Alphonse Allais
Bon j'ai trouvé "un peu par hasard"...
Le problème proviendrait, d'après ce que j'ai compris, de l'interface
entre MySQL et PHP5 "mysqli", il faut spécifier le charset voulu :
Avec :
$mysqli = new mysqli("127.0.0.1", $user, $password, $database, $port);
utiliser :
$mysqli->set_charset("utf8")
c'est curieux que cette interface transcode en latin1...
--
L'homme est imparfait, mais ce n'est pas étonnant
quand on pense à l'époque où il a été créé.
— Alphonse Allais