Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> strtolower i mb_strtolower psuje kodowanie stringów UTF
gemini2201
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 23.02.2009

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


Witam,

W skrypcie przetwarzam stringi UTF.
Wykonuje m.in
mb_split, mb_eregi, trim i generalnie wszystko dziala oprócz mb_strtolower/strtolower która to funkcja powoduje zniszczenie pl znakow (które są na pewno poprawnie zakodowane w UTF). A przez zniszczenie mam na mysli ze zamiast poprawnych znakow sa tylko kwadraciki ktore nie sa zakodowane w zaden sensowny sposob (sprawdzalem win, iso i utf). Niemniej string wynikowy wciaz jest wykrywany przez mb_detect_encoding jako UTF.
Zeby bylo jeszcze ciekawiej... Na jednym serwerze dziala bezblednie (PHP Version 5.2.6-2ubuntu4.1 - tutaj dziala bezproblemowo niezaleznie czy uzywam fkcji mb_ czy zwyklych), natomiast nie dziala na serverze produkcyjnym na debianie (PHP Version 5.2.0-8+etch13) i to z mb_ i bez.
Czym to moze byc spowodowane? Bug w php? cos zle ustawione?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Jeśli masz na pewno kodowanie w utf używaj drugiego parametru:
  1. <?php
  2. //string mb_strtolower ( string $str [, string $encoding= mb_internal_encoding() ] )
  3. mb_strtolower("ąęćśźłó","UTF-8");
  4. ?>


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 11:24