Taip, reikia naudoti SET NAMES, tik manau, kad šita problema prieš n metų turėjo pasireikšti. Jei nenaudojam PDO tai prisijungimas turi būti maždaug toks: @$link = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die('Could not connect: ' . mysqli_connect_error()); mysqli_select_db($link, DATABASE_NAME) or die('Could not select database'); $query="SET NAMES utf8";//fix incorrect chars when MySQL 5.0 default charset!=utf8 $result = mysqli_query($link,$query) or die('could not set utf8 encoding' .. mysqli_error($link)); Jei naudojam PDO tai taip: try { $dbh = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER,DB_PASSWORD, array( PDO::ATTR_PERSISTENT => true, PDO::ATTR_ORACLE_NULLS=>PDO::NULL_EMPTY_STRING, //for all drivers, not oracle only PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, //PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => false, //f you are selecting a really huge amount of data, always set - causes exceptions PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8" )); //$dbh->query('SET NAMES utf8'); } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); }