Techno-magis

Septembre 2014

PHP, MySQL/MariaDB & Unicode 7

Mardi 30 Septembre 2014

C’est souvent dans l’urgence que l’on se rend compte qu’une nouveauté ne passe pas. En l’occurrence, j’ai voulu profiter des emoji 😄 fournis par Unicode 7.0 pour éviter de mettre des images à la place des smileys et c’est plus universel, pour le coup. Sauf que je n’avais pas fait attention au fait que ces caractères en UTF-8 sont codés sur 4 octets ce qui dépasse ce qui est prévu de base dans l’interclassement « utf8_unicode_ci » qui n’accepte que l’UTF-8 sur 3 octets maximum. Il faut que les tables et les champs passent en « utf8mb4_unicode_ci ». L’utf8mb4 est là pour préciser que l’UTF-8 sur 4 octets est accepté. Il faut savoir que l’UTF-8 peut en théorie accepter jusqu’à 8 caractères, mais la version normalisée se limite à 4 pour l’instant. Attentions, il semble que « utf8mb4_unicode_ci » soit un peu plus lourd.

Côté PHP, il faut aussi préciser que l’on voit des données « utf8mb4 » pour éviter les surprises.

CODE :

$mysqli = new mysqli($sql_host, $sql_user, $sql_pass, $sql_base);
$mysqli->set_charset("utf8mb4"); //  utf8 → utf8mb4

Bon visiblement, à part l’interclassement et l’encodage d’envoi, il n’y a rien de plus à faire. Les champs restés en « utf8_unicode_ci » fonctionnent toujours, mais il ne faut pas leur envoyer du « utf8mb4 » sous peine d’une mauvaise surprise.

Commenter le billet...
Catégories :
Par Zéfling, le 30/09/2014 à 00:19:43
Le billet a été lue 244 fois, avec 0 commentaire publié.

Un semblant d'« override » en JavaScript

Lundi 22 Septembre 2014

La programmation JavaScript permet de faire certaines choses, vu que les objets en tant que tels (comme en Java par exemple) n'existent pas vraiment (du moins, pas pour l'instant), mais il est toujours possible d’étendre un objet sans toucher à celui d'origine. Un peu comme un « extends + override », mais sur l'objet en mémoire. C'est très utile quand on utilise un framework, mais qu'on ne veut pas toucher au cœur de celui-ci (pour faire des mises à jour plus facilement).

Lire le billet en entier...
Catégories :
Par Zéfling, le 22/09/2014 à 23:47:46
Le billet a été lue 276 fois, avec 0 commentaire publié.