Проблема с буквой "Ё"

Вурдалак

Продвинутый новичок
Я никогда не считал это проблемой. Это не «глюк», а такое сравнение символов (utf8_general_ci, utf8_unicode_ci). А можно пример ситуации, которую действительно можно назвать «проблемой»?
 

Вурдалак

Продвинутый новичок
Не стоит путать упорядочивание и сравнение
— чё-чё?
Да легко, - "точный поиск".
PHP:
select * from table where text like "%всё%"
— ну если нужно именно так, но воспользуйся LOWER() и http://dev.mysql.com/doc/refman/5.0/en/charset-collate.html

Один же хрен: индексы ты так не используешь.
 

tz-lom

Продвинутый новичок
заменяй ё на ййо , данная последовательность букв в русском языке не встречается
 

Mols

Новичок
Chusha
пишите свой collate и юзайте его.
З.Ы.
насколько я в курсе "е" и "ё" и должны быть эквивалентны. Если за последние 15 лет не изменились правила русского языка.
 

Вурдалак

Продвинутый новичок
«Ё» и «Е» считаются одними символами для utf8_general_ci, utf8_unicode_ci вполне «официально»: http://www.collation-charts.org/mysql60/mysql604.utf8_general_ci.european.html, http://www.collation-charts.org/mysql60/mysql604.utf8_unicode_ci.european.html. А вы своим наставническим тоном пытаетесь сказать, что я в чём-то не прав и я путаю какое-то «упорядочивание» и «сравнение». Может быть всё-таки пионер прояснит, что он под этим подразумевает, и в чём же я ошибаюсь?
 

Mols

Новичок
Преимущественно руками. Ну головой тоже мальца поработать надо.
Вот можно глянуть сюда например http://forge.mysql.com/w/images/b/b7/HowToAddACollation.pdf

Вы ошибались и Вы ошибаетесь. Буквы "е" и "ё" всегда были разные буквы, с момента введения буквы "Ё".и по сию секунду.
ы)) ну буквы ясное дело разные. Но вот правила русского языка допускают использование "е" вместо "ё". Или уже нет?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
мда, разговор немого со слепыми
ему не нужен поиск не по значению, а по символу, как раньше
вопрос как есть суп вилкой - вечен, нечего тут спорить

Chusha
когда ты перешел с однобайтовой кодировки на уникод, поиска по символу не стало, есть поиск по значению, используя правила сопоставления
для mysql е=ё,
это не проблема - mysql всегда лучше знает, что нам надо, пора привыкнуть уже
 

zerkms

TDD infected
Команда форума
ы)) ну буквы ясное дело разные. Но вот правила русского языка допускают использование "е" вместо "ё". Или уже нет?
насколько я знаю - "ё" используется в литературе для детей и предназначенной для иностранцев. В периодике и остальной литературе везде "е".
 

Mols

Новичок
Вообще конечно да.
Тут явное желание есть суп вилкой.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
в чём же я ошибаюсь?
маленький мальчик спрашивает у папы "почему яблоко становится коричневым?"
отец начинает рассказывать "при соприкосновении с атмосферным кислородом с вещество яблока вступает в химическую реакцию окисления, в результате которой образуется соединение коричневатого цвета"
мальчик на это спрашивает "пап, а ты с кем сейчас разговаривал?"
 

zerkms

TDD infected
Команда форума
grigori
железо там окисляется, чо это ты его назвал так - "вещество яблока" хехехе :)
 

Mols

Новичок
zerkms
да ну нафиг.
Там 100% окисляется именно вещество яблока )
 

Вурдалак

Продвинутый новичок
Chusha, я не понимаю вашей глубокой мысли. Для упорядочивания (в общем случае) требуется как-раз иметь возможность сравнивать сортируемые значения. По-вашему, collation нужно только для сортировки? Переводить не пробовали?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
чуча не читатель, чуча писатель! :)

для тех, кто с 1го раза не понимает - повторяю: mysql плевать на правила, на данные и на тебя.
Они молча обрезают строку до размера ячейки и число до максимально возможного, делят на 0, пустую строку заменяют на '0000-00-00' и так далее. Не нравится - не используй.
В яндексе лингвисты тоже неграмотные, не различают е и ё, а ты умный и хочешь писать свой collation - пиши, флаг те в ***, иди уже, грамотный наш. Твое мнение всем пофиг.

2all collation переводится как "сопоставление", а не "сортировка", не "упорядочивание", не "сравнение". Это очень точный термин.
Упомянутые ТСом "всё" и "всё" - пример равенства при бинарном сравнении.
Сравнение "Рублев" и "Рублёв" по правилам сопоставления символов говорит, что это одно слово с разным написанием.
 
  • Like
Реакции: craz

phprus

Moderator
Команда форума
чуча не читатель, чуча писатель! :)
...
Сравнение "Рублев" и "Рублёв" по правилам сопоставления символов говорит, что это одно слово с разным написанием.
Писатель чукча или читатель, это зависит от того, какую он систему делает. Если это как-то связано с документооборотом, то буквы е/ё разные, особенно в фамилиях, именах и отчествах. Уже года 3 как ввели, чем доставили немало радостей обладателям документов, которые были выданы, когда эти буквы считались эквивалентными. Так что в этом случае "Рублев" и "Рублёв" это два разных человека и если вдруг в документах Рублёва будет написано Рублев, то он может получить вполне реальные проблемы.

Если же это система другого назначения, то особого смысла различать е/ё я не вижу, так-как ё в обычной письменности используется редко.
 
Сверху