MySQL и кодировка cp1251 @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 9 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
deleon
новый человек
2
Сообщения: 37
Зарегистрирован: 12.01.06
Заголовок сообщения: MySQL и кодировка cp1251
Сообщение Добавлено: 6 Февраль 2007, 12:19:21 
Исходные данные:

MySQL 4.1.21
Изначально у хостера (США) стояла кодировка всех параметров latin1 (кроме character_set_system = utf8).

Я, как умный человек, установил правильный charset & collation для работы с windows-1251:

Код:
character_set_client = cp1251
character_set_connection = cp1251
character_set_database = cp1251
character_set_results = cp1251
character_set_server = cp1251
character_set_system = utf8
collation_connection = cp1251_general_ci
collation_database = cp1251_general_ci
collation_server = cp1251_general_ci


С такими установками залил базу, при этом и у базы и у таблиц кодировка тоже cp1251.

Казалось бы все правильно, но с поиском проблемы.
оператор LIKE вообще бред ищет,
а FullText search (match..against) ищет настолько интересно, что логику выловить не удается вообще :eek:

Естественно, менять какие-либо параметры MySQL хостер мне не позволит.
Попробовал использовать Utf8 (все заново устанавливал, пересоздавал, заливал) - грабли с поиском остались...

Может есть у кого какие идеи.
Все нагугленные варианты были опробованы в течение 2-х дней - результат нулевой.

Заранее спасибо за дельные советы.
Александр
Jamakaser Муж.
участник
91
Сообщения: 1163
Зарегистрирован: 26.01.05
Сообщение Добавлено: 6 Февраль 2007, 12:37:35 
Два вопроса:
CHARACTER SET при создании таблиц какой был?
На сервере вообще нужная локаль есть?
И еще...
mysql_query("SET CHARACTER SET cp1251");
пробовал?

_________________
Найди кликабельный пиксель -->
deleon
новый человек
2
Сообщения: 37
Зарегистрирован: 12.01.06
Сообщение Добавлено: 6 Февраль 2007, 15:54:46 
Все это я выше написал:

Цитата:
С такими установками залил базу, при этом и у базы и у таблиц кодировка тоже cp1251



Если посмотреть параметры таблиц и базы данных, то у всех установлен charset cp1251 и соответствующий Collation.

Ну а SET Character SET как раз и устанавливает
Код:
character_set_client = cp1251
character_set_connection = cp1251
character_set_results = cp1251


которые у меня в полном порядке.

А вот на счет существования локали на сервере, как это посмотреть?


Jamakaser писал(а):
Два вопроса:
CHARACTER SET при создании таблиц какой был?
На сервере вообще нужная локаль есть?
И еще...
mysql_query("SET CHARACTER SET cp1251");
пробовал?

Jamakaser Муж.
участник
91
Сообщения: 1163
Зарегистрирован: 26.01.05
Сообщение Добавлено: 6 Февраль 2007, 16:12:44 

Цитата:
которые у меня в полном порядке.



Не уверен, должно работать тогда, хотя не знаю даже.


Цитата:
А вот на счет существования локали на сервере, как это посмотреть?



У службы тех поддержки спросить. Как я понимаю нет доступа к установленной системе?

_________________
Найди кликабельный пиксель -->
Бaзиль Муж.
участник
49
Сообщения: 1288
Зарегистрирован: 13.02.05
Откуда: Околомосковье
Сообщение Добавлено: 7 Февраль 2007, 03:03:47 
mysql_query("SET NAMES cp1251")

_________________
Не кочегары мы, не плотники,
Но сожалений горьких нет -
Как нет?
А мы дизайнеры-художники,
И с высоты вам шлем привет -
Привет!
deleon
новый человек
2
Сообщения: 37
Зарегистрирован: 12.01.06
Сообщение Добавлено: 7 Февраль 2007, 06:07:55 

Цитата:
A SET NAMES 'x' statement is equivalent to these three statements:
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;



Которые у меня и так в cp1251 (см. в шапке)
Бaзиль Муж.
участник
49
Сообщения: 1288
Зарегистрирован: 13.02.05
Откуда: Околомосковье
Сообщение Добавлено: 7 Февраль 2007, 10:51:16 
deleon, чес гря, это называется ГЛЮК. Сколько парились - так и не поняли, почему не работает. Настраивали два сервера - все ставили ОДИН-В-ОДИН, так что бы вы думали? На одном работает нормально, на другом - ругается на эти строчки в my.ini и реагирует только на SET NAMES. Убийственно, чесслово. Даже облазили кучу форумов - все сходятся в том, что это просто MySQL криво написан :(

_________________
Не кочегары мы, не плотники,
Но сожалений горьких нет -
Как нет?
А мы дизайнеры-художники,
И с высоты вам шлем привет -
Привет!
deleon
новый человек
2
Сообщения: 37
Зарегистрирован: 12.01.06
Сообщение Добавлено: 7 Февраль 2007, 11:05:19 
Спасибо. Похоже на то. Если бы что-то сделал не так - не работало бы ничего, а так одни функции работают нормально, а несколько других вообще странно. Например, с помощью MATCH..AGAINST (с mode по-умолчанию) задаю поиск слова "система", находится запись со строкой "Google поисковая система", набираю теперь "поисковая" - результатов никаких :confused:

Спасибо всем, кто помогал мне в этой теме. Всем очень признателен!
Буду доставать хостера, чтобы сделал upgrade mysql.
Бaзиль Муж.
участник
49
Сообщения: 1288
Зарегистрирован: 13.02.05
Откуда: Околомосковье
Сообщение Добавлено: 7 Февраль 2007, 22:49:12 

Цитата:
Буду доставать хостера



единственно правильный вывод :)
собснно, на то они и придуманы, хостеры :)

_________________
Не кочегары мы, не плотники,
Но сожалений горьких нет -
Как нет?
А мы дизайнеры-художники,
И с высоты вам шлем привет -
Привет!
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 9 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100