set_charset($cs); $result = $con->query(sprintf('SELECT LENGTH(%s) AS L, CHAR_LENGTH(%s) AS CL, %s AS S FROM csfun', $field, $field, $field)); while ($row = $result->fetch_assoc()) { echo sprintf("%s as %s - DB length : %d bytes %d chars - PHP length : %d bytes %d chars\r\n", $field, $cs, $row['L'], $row['CL'], strlen($row['S']), mb_strlen($row['S'], $cs)); } $result->free(); } $con = new mysqli('localhost', 'root', '', 'Test'); $con->query('CREATE TABLE csfun (id INTEGER, s1 VARCHAR(50) CHARACTER SET latin1, s2 VARCHAR(50) CHARACTER SET utf8, PRIMARY KEY (id))'); $con->query('INSERT INTO csfun VALUES(1, \'ABC\', \'ABC\')'); $con->query('INSERT INTO csfun VALUES(2, \'ÆØÅ\', \'ÆØÅ\')'); dump($con, 's1', 'latin1'); dump($con, 's1', 'utf8'); dump($con, 's2', 'latin1'); dump($con, 's2', 'utf8'); $con->query('DROP TABLE csfun'); $con->close(); ?>