![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 20.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam problem przy jednej tabeli i zastanawiam się co może powodować dziwną sytuację. Mianowicie przy dodaniu do tabeli frazy bez polskich znaków i próba dodania takiej samej z polskimi znakami powoduje wywalenie 1062 i niemożność dodania takowego rekordu. Tabela:
Połączenie z bazą zawiera: Ktoś zna przyczynę, dlaczego MySQL traktuje część polskich znaków jako niediakrytyczne? Z tego co zauważyłem nie dotyczy to wszystkich znaków, np. ł nie łapie, natomiast ś, ą czy ó już wywala jako duplikat. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 43 Dołączył: 9.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Proponuję zmienić typ porównywania dla pola `phrase` na utf8_polish_ci
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 20.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
To pomogło, pytanie dlaczego unicode_ci nie rozróżnia tych znaków, chociaż powinien?
Co do zmiany, zamienię na utf8_bin, z tego względu, że trzymam tam też słowa w innych językach (np. niemieckie). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
To pomogło, pytanie dlaczego unicode_ci nie rozróżnia tych znaków, chociaż powinien? Dokumentacja nie precyzuje tego zbyt dokładnie: "utf8_general_ci collation are faster, but slightly less correct"... slightly less to nie jest pojęcie, którym posługuje się inżynier i które oznacza, że projektanci MySQL też nie bardzo wiedzą dlaczego tak się dzieje ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:01 |