Всем привет. Намедни одолел SQL и его непереносимость русского языка. Зачем мне надо было так извращаться - другой вопрос Кому надо выкладываю образчик кода. Код (Text): //$Parameters - массив UTF-8 строк полученных как параметры скрипта $Parameters = explode("\n", fread(fopen("php://input", "r"), 1000) ); $conn = mysql_connect("localhost", "root"); //Если кому нужно удалить старую базу данных $sql = "DROP DATABASE `База данных`"; mysql_query($sql, $conn); //Создаём базу данных с русским названием $sql = "CREATE DATABASE `База данных`"; if (mysql_query($sql, $conn) == TRUE){echo "Database create -- TRUE\n";}else{echo "Database create -- FALSE\n";} //Подключаемся к базе данных mysql_select_db("База данных", $conn); //Создаём русскоязычную таблицу $sql = "CREATE TABLE `Аккаунты` (`Имя` TEXT, `Пароль` TEXT)"; if (mysql_query($sql, $conn) == TRUE){echo "Table create -- TRUE\n";}else{echo "Table create -- FALSE\n";} //Добавляем в таблицу инфу $sql = "INSERT INTO `Аккаунты` VALUES ('$Parameters[1]', '$Parameters[2]')"; if (mysql_query($sql, $conn) == TRUE){echo "Insert current accaunt data -- TRUE\n";}else{echo "Insert current accaunt data -- FALSE\n";} //Извлекаем из таблицы инфу $sql = "SELECT * FROM `Аккаунты` WHERE `Имя` = '$Parameters[1]' AND `Пароль` = '$Parameters[2]'"; $result = mysql_query($sql, $conn); if (!$result) { print "Error 0"; } else { print "Extract data -- Ok!"; } В принципе, отличие от не русской базы данных только в "экранировании" русских названий символом "тильда" (`), но главное - знать где экранировать, а где - нет. P.S.: Нигде описания как работать с русскоимёнными базами данных найти не смог - пришлось учиться методом тыка.
Примечание: этот мой код в UTF-8 не хочет работать: как только пересохранил PHP-скрипт с ANSI в UTF-8 сразу начались проблемы с подключением к созданной базе данных. Решения пока не нашёл.