Zdarza się, że potrzebujemy zmienić kodowanie rekordów w naszej bazie danych. Przykładowo mamy stronę w wordpress i wszystko jest w utf_general_ci. Przez to sortowanie wyników zapytania zwraca nam wyniki zaczynające się od polskich znaków jako ostatnie na liście. Chcemy zatem zmienić kodowanie na utf_polish_ci. Oto kod który to umożliwia:
<?php /* config */ define('HOST', 'localhost'); define('USER', 'root' ); define('PASS', 'hasło' ); define('NAME', 'wordpress'); define('CHAR', 'utf8' ); $sql = mysql_connect(HOST, USER, PASS); mysql_select_db(NAME); mysql_set_charset(CHAR); $count = 0; $q = mysql_query('show tables'); while($w = mysql_fetch_row($q)) { $name = $w[0]; mysql_query("ALTER TABLE $name CONVERT TO CHARACTER SET utf8 COLLATE utf8_polish_ci"); $count += mysql_affected_rows($sql); } echo "Affected rows: $count\n";