Sto usando una tabella mysql di charset utf8 in un server MySQL 5.1, che non supporta la codifica utf8mb4 nelle tabelle. Quando si inseriscono caratteri utf8 codificati a 4 byte come "","","","","","唧",""
. La tabella mostrerà un errore o salterà i seguenti testi.È possibile che php rilevi i caratteri utf8 codificati a 4 byte?
Come posso rilevare a livello di codice utf8 codificati a 4 byte in PHP e sostituirli?
Abbastanza semplice: dividere una stringa da personaggi (molti modi per farlo) e verificare se 'strlen ($ char) == 4'. Non sono sicuro che questo sia davvero il modo corretto per rilevare i caratteri che MySQL non può gestire, in quanto il punto di codice potrebbe essere più preciso. – deceze
Hai controllato l'estensione [multibyte] (http://php.net/mbstring)? Inoltre, assicurati di leggere [sempre i commenti] (http://dk1.php.net/manual/en/function.mb-internal-encoding.php#66568). –
@deceze Questo è un approccio. Vado per quello se non ci sono altri modi eleganti. –