- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В админке хостера создаю базу.
Захожу в phpmyadmin, смотрю список баз, та, что я создал, в кодировке latin1_swedish_ci, мне же нужно cp1251_general_ci
У меня из-за шведской кодировки база не хочет восстанавливаться.
Хостер пока молчит.
Вопрос: есть ли возможность запросом, али как в phpmyadmin сменить кодировку на правильную?:smoke:
Поробуйте так:
ALTER TABLE `tablename` CONVERT TO CHARACTER SET cp1251 COLLATE cp1251_general_ci;
ALTER TABLE `tablename` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
Либо пересоздайте таблицу:
CREATE TABLE `tablename` (
`id` int(11) unsigned NOT NULL auto_increment,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_ci;
Если я правильно понял проблему, то необходимо в скрипте, сразу после подключения к базе данных прописать:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
Поробуйте так:
ALTER TABLE `tablename` CONVERT TO CHARACTER SET cp1251 COLLATE cp1251_general_ci;
ALTER TABLE `tablename` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
А чтобы сама база была в ср1251:
Если я правильно понял проблему, то необходимо в скрипте, сразу после подключения к базе данных прописать:
mysql_query("SET NAMES 'cp1251'");
Поробуйте так:
ALTER TABLE `tablename` CONVERT TO CHARACTER SET cp1251 COLLATE cp1251_general_ci;
ALTER TABLE `tablename` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
Самое интересное, не помогло, но саппорт сказал, что в Операциях можно сменить, когда так и сделал, высветился именно такой код :)
Larden,
Если я правильно понял проблему, то необходимо в скрипте, сразу после подключения к базе данных прописать
Да, потом пришлось и так проделать. Причём, в 2х местах )
Спасибо всем откликнувшимся.
Хм, странно это, но способ, предложенный тов. Larden пригодился уже 2й раз )
latin_swidish - кодировка мускула по умолчанию.
(Вы, наверное переезжали с сервера с MySQL 4.0 на сервер с 4,1?)
Если менять кодировку запросом, то содержимое полей БД (которое и так на русском) будет перекодированно и, даже, если это будет нормально отображаться на сайте, то в PHPMyAdmin вы вместо русского получите крокозяблы.
Чтобы избежать проблемы (чтобы и в MySQL видеть русский и на сайте) нужно вначале сменить тип полей на бинарный, затем сменить кодировку на ту которую хотите, а после этого вернуть тип полей назад. Т.о. содержимое БД не подвергнется обработке, а кодировка будет сменена.
Если хотите, могу дать (проверенный) скрипт, который это легко делает. Стучитесь в Личку.