Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

MySQL passer en UTF-8 ?

1 réponse
Avatar
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

1 réponse

Avatar
Une Bévue
Le 16/01/13 10:11, Une Bévue a écrit :
alors que je souhaite avoir ***pour toutes mes bd***
utf8 avec collation utf8 fr.



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