Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]porównanie stringów z bazy
Forum PHP.pl > Forum > Przedszkole
jakis_login
Witam
Mam baze danych w mysql a w niej kilka tabel. Z jednej tabeli wyciągam pewien rekord i porównuje z innym rekordem z innej tabeli. Obie tabele są w jednakowym kodowaniu. Gdy wyświetlę obie wartości to obie wyświetlają się na stronie jednakowo. Jednak gdy chce porównać je w taki sposób:

  1. <?php
  2.  
  3. $wartosc_z_bazy_tabela_1 = $row['wartosc1']; //zwraca taki tekst: oświetlenie awaryjne
  4.  
  5. $wartosc_z_bazy_tabela_2 = $row['wartosc2']; //zwraca taki tekst: oświetlenie awaryjne
  6.  
  7. if($wartosc_z_bazy_tabela_1 == $wartosc_z_bazy_tabela_2)
  8. echo 'znalazl';
  9. else
  10. echo 'nie znalazl';
  11.  
  12. ?>


to zawsze mi pokazuje ze nie znalazl. O co kaman? Dodam ze jak w bazie usunę z obu tabel znak ś to mi działa, pliki też mam jednakowo kodowane.
Turson
  1. if($wartosc_z_bazy_tabela_1 === $wartosc_z_bazy_tabela_2)


a kodowanie pliku w utf-8 bez bom jest?
Wazniak96
Turson skoro operator równości wyrzuca mu to dlaczego ma działać mu operator identyczności? Dla mnie to trochę nie logiczne ale może się mylę wink.gif

dla upewnienia się, że kodowania na pewno są identyczne zaraz po połączeniu się z bazą wklep zapytanie:
  1. ALTER DATABASE `nazwa_bazy` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

Powinno pomóc wink.gif
Crozin
1. Skoro problemem jest znak "ś" zapewne kodowanie jest różne.
2. Pamiętaj, że Unikod może być zapisany na wiele sposobów i powinieneś go znormalizować przed zapisem do bazy danych: http://php.net/manual/en/class.normalizer.php
Turson
Cytat(Wazniak96 @ 6.01.2014, 19:57:26 ) *
Turson skoro operator równości wyrzuca mu to dlaczego ma działać mu operator identyczności? Dla mnie to trochę nie logiczne ale może się mylę wink.gif

Napisałem to przy okazji wink.gif
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-2025 Invision Power Services, Inc.