MAFHOST Mafhost
Главная · Новости · FAQ · Статьи · Портфолио · Веб ссылки    
 
Серверы
Серверы

Домены
Домены

Хостинг
Хостинг

Веб дизайн
Веб дизайн

Обратная связь
Обратная связь
FAQ: Базы данных MySQL

Как сделать чтобы корректно сортировались, а также группировались кирилличные данные?


Для корректного вывода кириллических букв после создания базы данных,
Вам необходимо произвести следующие действия:

При создании БД в окно SQL в phpMyAdmin вставить:

ALTER DATABASE имя_Вашей_базы CHARACTER SET cp1251 COLLATE cp1251_general_ci;

Также сразу после коннекта к базе данных MySQL в Вашем скрипте должны присутствовать два запроса:

mysql_query ('SET NAMES cp1251');
mysql_query ('SET CHARACTER SET cp1251');

Пример ставки кода запроса в CMS PHP-Fusion версии 6.01.13:
строка 134 файла maincore.php

оригинальный файл PHP Fusion:

function dbconnect($db_host, $db_user, $db_pass, $db_name) {
$db_connect = @mysql_connect($db_host, $db_user, $db_pass);
$db_select = @mysql_select_db($db_name);
if (!$db_connect) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Unable to establish connection to MySQL</b><br>".mysql_errno()." : ".mysql_error()."</div>");
} elseif (!$db_select) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Unable to select MySQL database</b><br>".mysql_errno()." : ".mysql_error()."</div>");
}
}




исправленный файл PHP Fusion:

function dbconnect($db_host, $db_user, $db_pass, $db_name) {
$db_connect = @mysql_connect($db_host, $db_user, $db_pass);
$db_select = @mysql_select_db($db_name);
mysql_query ('SET NAMES cp1251');
mysql_query ('SET CHARACTER SET cp1251');

if (!$db_connect) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Unable to establish connection to MySQL</b><br>".mysql_errno()." : ".mysql_error()."</div>");
} elseif (!$db_select) {
die("<div style='font-family:Verdana;font-size:11px;text-align:center;'><b>Unable to select MySQL database</b><br>".mysql_errno()." : ".mysql_error()."</div>");
}
}






В том случае, если у Вас есть готовый дамп базы данных, но Вам необходимо убедиться,
что данные в нем хранятся в нужной Вам кодировке и что в запросах create table присутствует DEFAULT CHARSET=cp1251,
Пример:

CREATE TABLE `test` (id int, value varchar(255)) DEFAULT CHARSET=cp1251;

В итоге, если у Вас есть работающий сайт (корректно работающий),
а данные в таблицах БД сохраняются в кодировке latin1,
(и, соответственно, корректно не показываются в phpmyadmin)
- то Вам необходимо поставить и настроить отдельный скрипт для создания дампа,
(мы рекомендуем попробовать воспользоватся скриптом http://sypex.net/)
после чего самостоятельно проконвертировать все таблицы и данные
в необходимую Вам кодировку и перезалить этот дамп БД с помошью phpmyadmin или самого скрипта (Sypex Dumper).
Прайс - лист
в формате xls
в формате pdf
“Вход”
Имя

Пароль

Запомнить меня


Напомнить пароль можно здесь.
Вход в хостинг-аккаунт
логин пароль

Забыли пароль?
Новости

31.08.2016
Реквизиты оплаты
Уважаемые пользователи! Обращаем Ваше внимание на то, что, у нас сменились реквизиты оплаты на ...  прочесть полностью ...

05.02.2014
Смена реквизитов
Сменились реквизиты оплаты на карту приват-банка, просьба быть внимательными и пользоваться рекви...  прочесть полностью ...

22.02.2011
Замена сервера
Сегодня (22-02), по состоянию на 6 утра, сервер 91.213.117.101 заменен, а информация была восстан...  прочесть полностью ...

14.08.2007
Открытие сайта
Официальное открытие обновленного сайта. Для корректного доступа ко всем имеющимся ресурсам сайта...  прочесть полностью ...

 Прочесть все новости →