Апр
28
2008
28
2008
PHP // Базы данных
Создание базы MySQL на UTF-8
Для начала пропишем необходимые заголовки:
header("Content-Type: text/html; charset=utf-8");
if (!setlocale(LC_CTYPE ,"ru_RU.UTF-8"))
setlocale(LC_CTYPE,"ru_RU");
Далее при создании таблиц, нужно правильно прописать локали
$db->query("CREATE TABLE `eldario` (`categoryID` int(11) NOT NULL auto_increment, `itemID` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;");
если не указывать COLLATE=utf8_general_ci, тогда дальнейшие запросы будут регистро зависимыми, а это не всегда удобно.
После установки соединения с базой установим настройки выдачи
mysql_query("set character_set_results=utf8;", $link);
mysql_query("set character_set_connection=utf8;", $link);
mysql_query("set character_set_client=utf8;", $link);
mysql_query("set character_set_database=utf8;", $link);
где $link, идентификатор соединения.

Автор