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";

Nie znaleziono żadnych powiązanych wpisów.