![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
VasyaVasin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.12.2007 Репутация: нет Всего: нет |
Здравствуйте, проблема в следующем. Ставлю MediaWiki (http://www.mediawiki.org/wiki/MediaWiki/ru), процесс установки проходит, создаётся БД, но при запросе к index.php выдаёт следующая ошибка:
Обнаружена ошибка синтаксиса запроса к базе данных. Последний запрос к базе данных: (SQL запрос скрыт) произошёл из функции «Article:ageData». MySQL возвратил ошибку «1267: Illegal mix of collations (cp1251_bin,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' (mysqlserver)». Насколько я понял проблема с конфликтом кодировок. Я нашёл решение этой проблемы - создание в phpMyAdmin БД с нужным мне чарсетом. Но хостер (инфобокс) не даёт доступ к созданию БД с помощью phpMyAdmin, а только к редактированию. В общем прошу подсказать что сделать? По идее с крипте MediaWiki там где она подключается в базе, нужно прописать кодировку, но где именно я так и не нашёл. Заранее спасибо. |
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
да. в одном(а может - и не в одном) запросе используется сравнение полей из двух разных таблиц, с разными кодировками. Вот СУБД и не знает, как сравнить две строки,каждая из которых закодирована по-своему. Или же константа в запросе имеет кодировку по умолчанию, которая не совпадает с кодировкой поля, с которым происходит сравнение.
SET NAMES. впрочем, если бы кодировка подключения была бы неверно установлена, у тебя скорее возник бы вопрос о том, что текст выводится не в той кодировке и выглядит нечитаемым.
зачем тебе создавать БД? тебе же таблицы в существующей БД создавать надо. А кодировка по умолчанию может быть изменена и для БД, и для отдельной таблицы. Только, кажется мне, проблема у тебя в другом. |
||||
|
|||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
не обязательно создавать БД с нужным чарсетом. Чарсет можно указывать при создании таблиц
Добавлено через 1 минуту и 27 секунд А, точно! Можно ведь попробовать поменять умолчания для БД. Вот тут http://phpfaq.ru/charset хорошо написано |
|||
|
||||
VasyaVasin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.12.2007 Репутация: нет Всего: нет |
При запросе set names cp1251 выдаётся, что база в нужной мне кодировке.
MySQL-кодировка: UTF-8 Unicode (utf8) Сопоставление соединения с MySQL: cp1251_bin Т.е. получается, что кодирвока по умолчанию стоит? |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
при запросе set names ничего вообще не выдается.
Получается, что кодирвока по умолчанию стоит. только непонятно, какая тебе с того разница. |
|||
|
||||
VasyaVasin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.12.2007 Репутация: нет Всего: нет |
Тогда получается, что я жутко туплю или чего-то не понимаю...
Как мне добиться нужного результата? ![]() |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
Я, вообще-то, ссылку давал.
|
|||
|
||||
VasyaVasin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.12.2007 Репутация: нет Всего: нет |
Проблема решилась проще.
в коде скрипта, в том месте, где он коннектица к базе добавил 3 строчки: mysql_query ("set collation_connection='latin1_bin'"); mysql_query ("set character_set_client='cp1251'"); mysql_query ("set character_set_results='cp1251'"); |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
Очень странное решение.
Думается мне, будут ещё проблемы. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |