Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]Strtolower a znaki specjalne
Forum PHP.pl > Forum > Przedszkole
graft
Witam,

robię stronę w 3 językach (pl, de, en). Użyłem kodowania utf-8.
Jest rejestracja użytkowników, gdzie wpisują ręcznie swoje miasto.

Mam pytanie do specjalistów: Jak najlepiej przechowywać w bazie "miasto" (jaka wielkość liter)?

Mój problem polega na tym, że chciałbym przy wyciąganiu miast z bazy uzyskać pożądane wielkości liter, tj. pierwsza litera duża, a reszta liter małych...

Próbowałem użyć strtolower i ucfirst, ale niestety zamiast znaków specjalnych: ążźćńäöü uzyskuję "krzaki".
Podobnie z LOWER().

Obecnie mój insert wygląda tak:
  1. <?php
  2. mysql_query("SET NAMES 'utf8'");
  3. ..
  4. ..
  5. $sql_dane = "INSERT INTO tabela (name, suspend) VALUES (lower('". $_name ."'), 'no')";
  6.  
  7. $result = mysql_query($sql_dane, $connect);
  8. ?>


Jeśli ktoś spotkał się z podobnym problemem będę wdzięczny za podpowiedź...
nexis
Powodem Twojego problemu jest kod:

  1. <?php
  2. mysql_query("SET NAMES 'utf8'");
  3. ?>


Skrypt i dane, które do niego trafiają masz zapewne zakodowane w iso-8859-2, więc gdy zmieniasz w MySQL na UTF-8 to wyskakują krzaczki.
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.