PROJET AUTOBLOG


le hollandais volant links

Site original : le hollandais volant links

⇐ retour index

Split String Using ES6 Spread | SamanthaMing.com

samedi 13 mai 2023 à 13:24

JS se pète les dents quand on peut split() une chaîne de caractères formés de caractères unicodes muti-octets :

'pizza🍕'.split(''); // [ 'p', 'i', 'z', 'z', 'a', '�', '�' ]

Il existe deux solutions :

// Using Spread
[...'pizza🍕']; // [ 'p', 'i', 'z', 'z', 'a', '🍕' ]
// Using Array.from
Array.from('pizza🍕'); // [ 'p', 'i', 'z', 'z', 'a', '🍕' ]

~

PHP aussi se casse les dents, mais il suffit de passer un flag à TRUE pour dire qu’on travaille en mutibyte, ou alors d’utiliser les fonctions mutibytes en « mb_ » :

mb_internal_encoding('UTF-8');
mb_substitute_character('none');

C’est utile quand on veut par exemple tronquer une chaîne à X caractères, et que parfois cette troncature se trouve au milieu d’un caractères. C’est ce qui casse parfois certains flux RSS qui tronquent leur contenu. On se retrouve alors avec un « � » dans le flux et les lecteurs RSS voient ça comme un flux pété.


— (permalink)