MySQL encoding кошмар

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Котяр
Маньяк
Сообщения: 1545
Зарегистрирован: 02 мар 2005, 13:05
Откуда: Toronto -> Vancouver

Сообщение Котяр »

Otto писал(а):Используй uft8_bin для достижения эффекта case sensitive :)
а они между собой совместимы? к примеру, если ключи из одной таблицы с uft8_bin ссылаются на данные в другой таблице с utf8_unicode_ci :?:
Аватара пользователя
Otto
Пользователь
Сообщения: 91
Зарегистрирован: 08 июл 2006, 23:09
Откуда: Vancouver

Сообщение Otto »

Котяр писал(а):а они между собой совместимы?
Ну смотря что понимать под совместимостью. collation это просто набор правил поиска. utf8_unicode_ci и uft8_bin - разные collation, поэтому набор правил поиска будет разный, но если данные полностью одинаковые, то независимо от collation они будут восприниматься одинаково.
Котяр писал(а): к примеру, если ключи из одной таблицы с uft8_bin ссылаются на данные в другой таблице с utf8_unicode_ci :?:
Это будет работать

Только зачем все это? Может просто сделать для всей БД один collation utf8_bin и не париться? Или для каких-то полей тебе критично иметь другой collation?
Аватара пользователя
Котяр
Маньяк
Сообщения: 1545
Зарегистрирован: 02 мар 2005, 13:05
Откуда: Toronto -> Vancouver

Сообщение Котяр »

Otto писал(а): Только зачем все это? Может просто сделать для всей БД один collation utf8_bin и не париться? Или для каких-то полей тебе критично иметь другой collation?
чесно говоря, я не знаю, какая разница между utf8_unicode и utf8_bin :roll: мне важно, чтобы на странице браузера эти данные выглядили одинаково в charset=utf-8 и чтобы база не глючила
Аватара пользователя
Otto
Пользователь
Сообщения: 91
Зарегистрирован: 08 июл 2006, 23:09
Откуда: Vancouver

Сообщение Otto »

Ну тода делай utf8_bin на всю базу и телемаркет 8)

т.е:
CREATE DATABASE dbname
CHARACTER SET UTF8
COLLATE utf8_bin;
Аватара пользователя
Котяр
Маньяк
Сообщения: 1545
Зарегистрирован: 02 мар 2005, 13:05
Откуда: Toronto -> Vancouver

Сообщение Котяр »

Otto писал(а):Ну тода делай utf8_bin на всю базу и телемаркет 8)

т.е:
CREATE DATABASE dbname
CHARACTER SET UTF8
COLLATE utf8_bin;
ЛС проверь, пожалуйста :)
Ответить