непонятки с кодировкой

Статус
В этой теме нельзя размещать новые ответы.

no_santa

Снегур
непонятки с кодировкой

При переезде с хостинга на хостинг возникла непонятка с кодировкой.

Сайт полностью на UTF-8, изнутри и снаружи.
База в UTF-8, все таблицы и все столбцы корректно в UTF-8 - проверил.

Почему-то на пути из браузера в базу искажается заглавная буква И. Также не работает функция сравнения, когда там присутствует заглавная "И":

PHP:
A Database Error Occurred

Error Number: 1267

Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '='

SELECT `mail`,`fio` FROM `users` WHERE `mail`='[email protected]' OR `fio`='Иванов Игорь Иванович';

Почему 1251? Какой 1251? Где может быть 1251?
 
no_santa, у таблиц есть не только кодировка, но и collations, то есть сортировка. Вот она у тебя где-то 1251. COERCIBLE означает "заданный", а IMPLICIT "подразумеваемый", то есть 1251 все же в базе.

проще всего сделать дамп структуры и сделать grep 1251
 
Это динамические данные, которые по ходу работы с прогой кладутся в базу, изменяются и достаются из нее. Везде, где только можно написал UTF-8 или utf8_unicode_ci.

А может быть такая фигня, что кодировка по умолчанию задана в настройках MySQL хостера, но недоступна клиенту?
 
dimagolov
у таблиц есть не только кодировка, но и collations, то есть сортировка
Более того кодировка может быть указана для конкретного столбца. Если была таблица в cp1251, а потом тупо ALTER'ом изменили кодировку для таблицы на UTF8, то у столбцов останется кодировка cp1251.
 
виртуалка, SSH нету

-~{}~ 27.09.09 22:55:

можно подобную процедуру сделать с помощью phpmyadmin?

-~{}~ 27.09.09 22:55:

во, идея! Напишу-ка я в поддержку...
 
Вот выполни запрос
[sql]SELECT TABLE_NAME, COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME FROM `information_schema`.`COLUMNS` WHERE TABLE_SCHEMA = 'НАЗВАНИЕ БАЗЫ ДАННЫХ' AND CHARACTER_SET_NAME IS NOT NULL;[/sql]
Выведет кодировку всех текстовых столбцов
 
В базе все таблицы, все столбцы и сама база - кодировка выставлена верно.
Буквально только-что подтвердилась гипотеза о дефолтных настройках сервера - http://pic.rapidshare.ru/1188789

дозвонился в поддержку, обещали исправить.

Собственно, не могу сказать что проблема решена, наверное тему рано закрывать.

Ой, беда с этими хостингами.... Кстати, братцы, дайте ссылку на тему, где перечислены хорошие хостинги?
 
дефолтные настройки сервера не значат вообще ничего.
хуже нет, когда ламеры заставляют поддержку исправлять собственные косяки
 
***** ой, самый умный пришел! Сейчас опять всех посылать будет... :)

Сам ламер! Хоть-бы ссылку посмотрел, проклятый НАТОвец...

Кстати, в поддержке сказали, что это реальный косяк, т.к. большинство клиентов на этом-же сервере имеют сайты в 1251, поэтому под них конфа сделана. Меня сейчас тупо переносят на другой сервер.

Еще ссылка, специально для брумфильдских пыхарей - http://pic.rapidshare.ru/1188857
 
Рот разевать будешь, если сможешь реальную причину назвать, а не "пацаны сказали реальный косяк".
а сейчас притухни.
 
no_santa
Ты запрос хоть выполнил который я давал?
А то что ты выделил, всего ли означает кодировку по умолчанию. Т.е. в ней создаются таблицы если кодировка не указана.
 
Вопрос решен - базу перенесли на другой сервер, после чего все глюки пропали. На том сервере, куда попал дефолтно, все в 1251 (предполагаю потому, чтобы не писать set names).

vovanium
Да грепнули еще вчера, нет ни 1251, ни 1252. Ими даже не пахнет. На самом деле мной все давно и четко вылизано, на этом сайте и по меньшей мере еще на 30.


фOнат
пачем семячки в брукфилдя-то? С рускем язэком тама у всех так хярова, как у тябя? Довай хоть матярица па чилавеческе научу? За баксы-то зашибись как научу...
 
я че-то не понял, когда этот ламер успел расквакаться.
раньше вроде тихо ходил, знал свое место.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху