Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Polskie litery i funkcje zmiany wielkości znaków
Myrek
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 8.02.2003

Ostrzeżenie: (0%)
-----


Do zmiany wielkości znaków używam funkcji strtoupper() i strtolower(). Problem w tym, że przekazane małe "ó" do funkcji strtoupper() nie zmienia się na duże "Ó", np. mając ciąg "ćwok" funkcja zmienia go na: "ćWOK", nie zmienia literki "ć". Z drugą funkcją jest analogicznie. Dziwne jest to że funkcja zmieniająca pierwszy znak na duży, czyli "ucfitst()" zmienia "ć" na "Ć".
Mógłby ktoś mi pomóc?
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


A ja włączam ignorowanie wielkości znaków przy wyszukiwaniu stringów w bazie oraz nie dopuszczam do sytuacji, w której ktoś może wpisać nazwisko typu KOWALSKI czy k0\/\/4L$k! i nie muszę w ogóle zamieniać wielkości liter. Oczywiście czasem może to być przydatne, kiedy dostaniesz np. złe dane albo musisz się babrać w czyimś projekcie (nader częsty przypadek).

Wtedy wystarczy funkcja a'la Gularz, tylko trochę mniej okazała:
  1. <?php
  2. $tresc = strtr($tresc, 'ĄŚŹ...', 'ąśź...');
  3. ?>


Można też spróbować użyć:
  1. <?php
  2. $arrLocale = array( "pl_PL", "polish_pol" );
  3. setlocale(LC_ALL, $arrLocale );
  4. ?>


Można też użyć gotowych funkcji w mysql.

Ten post edytował Pilsener 26.01.2009, 08:41:55
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 20:47