Techno-magis

2014年9月

PHP, MySQL/MariaDB & Unicode 7

2014年9月30日(火曜日)

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.

コード:

$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.

記事にコメントする...
カテゴリ:
Zéflingによって、 2014/09/30 00:19:43
244回を読んだ。0件のコメントが投稿されています。

Un semblant d'« override » en JavaScript

2014年9月22日(月曜日)

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).

全記事を読みます...
カテゴリ:
Zéflingによって、 2014/09/22 23:47:46
276回を読んだ。0件のコメントが投稿されています。