Ребята, изучаю курс PHP ООП Lynda.com Кевина Скогланда. Не понимаю как в его коде установить русскую кодировку. Точнее я конечно могу написать header на странице. Но мне нужно, чтобы я писала название фото на русском и оно на русском грузилось в БД. Все перепробовала. Как в процедурке сделать я знаю. Но здесь куда коня впрягать?
Код с БД:
class MySQLDatabase {
private $connection;
public $last_query;
private $magic_quotes_active; // нет причины использовать их из вне класса
private $real_escape_string_exists;
// откроем соединение автоматически
function __construct() {
$this->open_connection();
$this->magic_quotes_active = get_magic_quotes_gpc(); // проверяет установлены ли волшебные кавычки. get_magic_quotes_gpc — Получение текущего значения настройки конфигурации magic_quotes_gpc
$this->real_escape_string_exists = function_exists("mysql_real_escape_string"); // проверка выполняется один раз при создании объекта БД и не тратит мощности на вычисление
}
// открытие соединения
public function open_connection() {
$this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if(!$this->connection) {
die("Database connection failed: " . mysql_error());
} else {
$db_select = mysql_select_db(DB_NAME, $this->connection);
if(!$db_select) {
die("Database selection failed: " . mysql_error());
}
}
}
// закрытие соединения
public function close_connection() {
if(isset($this->connection)) {
mysql_close($this->connection);
unset($this->connection);
}
}
// метод запроса к БД
public function query($sql) {
$this->last_query = $sql;
$result = mysql_query($sql, $this->connection);
$this->confirm_query($result);
return $result;
}
// подготовка значений для отправки в SQL
public function escape_value($value) {
if($this->real_escape_string_exists) {
if($this->magic_quotes_active) {$value = stripslashes($value);} // stripslashes — Удаляет экранирование символов
$value = mysql_real_escape_string($value);
} else {
if(!$this->magic_quotes_active) {$value = addslashes($value);} // addslashes — Экранирует строку с помощью слешей
}
return $value;
}
// возвращает массив
public function fetch_array($result_set) {
return mysql_fetch_array($result_set);
}
// количество рядов результата запроса
public function num_rows($result_set) {
return mysql_num_rows($result_set);
}
//
public function insert_id() {
return mysql_insert_id($this->connection); // mysql_insert_id — Возвращает идентификатор, сгенерированный при последнем INSERT-запросе
}
//
public function affected_rows() {
return mysql_affected_rows($this->connection); // mysql_affected_rows — Возвращает число затронутых прошлой операцией рядов
}
// проведка запроса
// метод приватный, т.к будет вызываться только в данном классе
private function confirm_query($result) {
if(!$result) {
$output = "Database query failed: " . mysql_error() . "<br /><br />";
//$output .= "Last query: " . $this->last_query; // нужно только для тестирования
die($output);
}
}
}
$database = new MySQLDatabase();
Просто надо добавить http://php.net/manual/ru/function.mysql-set-charset.php
// открытие соединения
public function open_connection() {
$this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if(!$this->connection) {
die("Database connection failed: " . mysql_error());
} else {
$db_select = mysql_select_db(DB_NAME, $this->connection);
mysql_set_charset("UTF-8", $this->connection);
if(!$db_select) {
die("Database selection failed: " . mysql_error());
}
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости