При работе с MySQL5 из PHP требуется настраивать кодировку соединения с базой данных. Если этого не сделать, то вместо кириллического текста на экран будут выданы символы вопросительных знаков:

??


??


.
Настройка кодировки соединения выполняется запросом “SET NAMES”, который нужно выполнить после соединения с базой данных. Например, для установки кодировки соединения cp1251 (windows-1251) нужно выполнить следующий запрос к базе данных.
mysql_query (“SET NAMES `cp1251`”);Таким образом, для того, чтобы адаптировать php-код сайта для работы с MySQL версии 5 нужно прописать в код выполнение лишь одного дополнительного запроса для установки кодировки. Если соединение с базой данных осуществляется только в одном общем файле, то вносить изменения нужно только в него. Ниже приведен пример такого файла.
Соединение с СУБД MySQL из PHP:
<?php
$dblocation = “localhost”; // Адерс сервера MySQL
$dbuser = “user”; // Имя пользователя базы данных
$dbpasswd = “***”; // и его пароль
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
exit (“<P>В настоящий момент сервер базы данных
не доступен, поэтому корректное отображение
страницы невозможно.</P>”);
}
else
{
echo “<P>Соединение установлено.</P>”;
}
@mysql_query (“SET NAMES `cp1251`”);
?>
Символы @ перед вызовом функций mysql_connect() и mysql_query() запрещают вывод возможных ошибок в браузер, т.к. это может раскрыть посетителям сайта конфиденциальную информацию о базе данных.