хэш на одинаковть

Роберт

Аналитик
хэш на одинаковть

С точки зрения MySQL'a , при поиске , строки: "aaaaa" и "äÀåāĄ" - одинаковы (если конечно поле уникодовское и сравнение не бинарное)
А есть ли возможность получить , на стороне MySQL или РНР , ну как-бы хэш этих строк с точки зрения (или даже с точки вИдения) их MySQL сервером?
Например если взять их md5 - то он ясное дело хэш для этих строк будет различен.
А вот как бы получить ну как бы md5 от того как их внутренне видит MySQL сервер , какой-то хэш который был бы одинаков для обеих этих строк?
Скажем получаешь в РНР от MySQL'a выборку типа: "aaaaa" , "äÀåāĄ" , "bbbbb" , и потом надо определить что первые две строки это одно и тоже , а третья строка - это другое.
Очень не хочется самому создавать таблицы схожишх букв для всех алфавитов...
 

Alexandre

PHPПенсионер
сделать приведение к строке äÀåāĄ -> aaaaa
путем простой замены и сравнивать не абсолютные а нормарованные строки
вернее их md5 (sha1 etc)
 

Роберт

Аналитик
Alexandre
Так я ведь в последней строке своего сообщения и сказал что не хотелось бы самому создавать таблицы схожих букв для всех алфавитов. Если других вариантов не существует , то конечно придётся делать что-то типа:
preg_match('#[äÀåāĄ......]#u','a',$строка)
но для этого надо будет найти все символы которые относятся к каждой латинской букве. А ещё если взять всякие "Æ" которые толи "А" толи "Е" толи "АЕ" , а так же "Œ" , "IJ" (это один символ!) , и так далее...
Просто думал может либо в MySQL'e уже есть готовое решение , либо кто-то в РНР уже написал точно соответсвующий работе MySQL.

Раньше (лет 10 назад) в MySQL таблицы с символами разных языков стояли в отдельных файлах , и там можно было разобрать какие символы считаются одинаковыми (и даже написать собствунную кодировку) , а теперь похоже что всё встроено. Исходники чтоли перекапать? А вдруг уже кто-то реализовал?
 

Роберт

Аналитик
vovanium
Спасибо!
Очень интересный документ!!!
Правда про символы: “ ” « » -там ничего не написано , а про кавычки (") есть...
 
Сверху