UTF-8 dans PHPmyAdmin

Dans le PHPmyAdmin d’Ouvaton, je vois que le serveur MariaDB est en cp1252. Je cite:
Server charset: cp1252 West European (latin1)

Néanmoins, des kanji (points unicode à trois octets) peuvent s’y stocker et y être vus en tant que kanji:
« 暗視 あんし, comme disait l’autre »

Par contre, l’affichage par des scripts PHP/HTML dûment taggués charset=« UTF-8 » me donne l’erreur habituelle des points d’interrogation dans sur fond noir � pour les caractères accentués, et points d’interrogation simples à la place des kanji. http://jchrbe.ouvaton.org/zwyrg/0essai.php

J’ai importé les tables sur PHPmyAdmin Ouvaton à partir de celles exportées de mon système LAMP à la maison, qui fonctionne sans problème; les scripts PHP sont également les mêmes (à part évidemment de la procédure de connexion msqli).

  1. Est-ce que le serveur MariaDB d’Ouvaton est réellement en cp1252? Ou y a-t-il y une procédure pour modifier le mode de stockage pour ma DB?

  2. Il y a quelques semaines, j’avais corrigé mes données par PHP, mais un export des tables a montré un double encodage UTF-8: les octets supérieurs à 127 des champs étaient eux-mêmes recodés en UTF-8: le guillemet typographique simple était codé en 8 octets, ce qui me semble assez exagéré.

Bonjour,

En indiquant à MySQLi de travailler en UTF-8, l’affichage est ok :

$mysqli->set_charset("utf8");

Pour vos questions, je ne sais pas. Quand notre infogérant passera par ici il devrait pouvoir vous répondre.

Je suppose qu’il s’agit de l’indiquer dans le script PHP lors de la requête mysqli? J’utilise la façon procédurale, je vais essayer de voir comment je dois faire.

Merci pour l’info rapide!

Un tout grand merci d’autant plus que cela fonctionne. Il suffit, en mode procédural, d’ajouter juste après la connexion :
mysqli_set_charset($connexion, "utf8") ;

J’aurais dû faire plus confiance dans l’entraide Ouvaton plutôt que perdre des heures sur Internet et dans la doc.

Cela reste mystérieux quand même.