Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kodowanie znaków a wstawianie danych do tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
Chys
Witam.
Staram się zrobić napisać autouzpełnianie wykorzystująć technologie ajax, php oraz mysql. Pomyślałem, że pomocne będzie przy autouzupełnianiu pokazanie liczby wyników, jaką zwróci dane zapytanie, jednak odrazu odrzuciłem ideę liczenia na bieżąco, więc wpadłem na pomysł, żeby zliczać występowanie wyrazów na bieżąćo. Służy do tego tabela mysql z dwoma polami: word (klucz podstawowy, pole typu varchar) oraz count. Oto przykładowe zapytanie:
  1. INSERT
  2. INTO all_words (word)
  3. VALUES ("gra"), ("grą") ON DUPLICATE KEY UPDATE count = count + 1

Wstawi ono to dabeli nowy wyraz, lub zwiększy odnotowaną liczbę wystąpienia danego wytazu. Jednak pojawia się problem; przy wstawianiu wyrazów takich jak w podanym przeze mnie przykładzie, czyli różniących się tylko literką ogonkową (inny przykład: dusze, duszę) baza danych potraktuje je jako jeden i ten sam wyraz, co w tym przypadku skutkuje zwiększeniem o dwa a nie o jeden. Problem znika, jeśli polu word nadam kodowanie utf polish, jednak takie rozwiązanie nie wchodzi w grę, bowiem będę wstawiał do tej tabeli nie tylko polskie wyrazy, ale i np niemieckie, więc myślę, że kodowanie powinno być utf general. Czy ktoś ma pomyśł na rozwiązanie, lub na pokazanie mi co źle robię? Z góry dziękuję za pomoc.
nevt
zastosuj collation utf8_bin
Chys
Dziękuję, pomogło winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.