Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]mb_strtolower, multibyte nie działa z polskimi znakami?
-Gość-
post
Post #1





Goście







jak zrobić żeby to działało dla polskich znaków:
  1. mb_strtolower($string)


po co są funkcje multibyte? dla rusków chinczyków i niemcow tylko? wstydnis.gif
Go to the top of the page
+Quote Post
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


To działa dla polskich znaków. Z postu nic więcej nie wynika ale raczej źle zakodowałeś stronę.


--------------------
Go to the top of the page
+Quote Post
toffiak
post
Post #3





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

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


Wykorzystaj drugi parametr funkcji, tam podajesz kodowanie

  1. print \mb_strtolower('ĘÓĄŚŁŻŹĆŃ','UTF-8'); // zwraca ęóąśłżźćń


Ten post edytował toffiak 30.11.2012, 10:25:01


--------------------
Go to the top of the page
+Quote Post
-Gość-
post
Post #4





Goście







kodowanie mam UTF-8

drugi parametr dostepny od wersji bpdajże PHP 5.5 a ja mam 5.2 pozatym:

encoding

Parametr encoding określa kodowanie znaków. Jeśli nie jest podany, to zostanie użyta wewnętrzna wartość kodowania zanków.

wiec kodowanie nie powinno miec znaczenia!, pododawalem opcje regionalne ale to chyba nie ma wplywu na dzialanie, gdzie jest problem hm..
pocieszyliście mnie i tak że powinno działać tylko teraz trzeba rozkimic co jest nie halo
Go to the top of the page
+Quote Post
toffiak
post
Post #5





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

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


PHP 5.5 jeszcze nie ma.
W twoim przypadku dla PHP 5.2 należy użyć samego mb_strtolower() bez "\" na początku.
W przypadku problemów należy także sprawdzić kodowanie twojego stringa.

  1. print mb_detect_encoding('ĘÓĄŚŁŻŹĆŃ'); // zazwyczaj UTF-8
  2. print mb_strtolower('ĘÓĄŚŁŻŹĆŃ', 'UTF-8') // gdy korzystamy z UTF-8


--------------------
Go to the top of the page
+Quote Post
-Gość-
post
Post #6





Goście







http://www.php.net/manual/pt_BR/migration55.changes.php

Witam, działa to, rzeczywiście 2 parametr był potrzebny nie wiem czemu..
Problem jednak w tym że nie samo replacowanie do stringa mi potrzebne tylko do patternu w funkcji preg_replace_callback od wersji php 5.4 mozna stosowac funkcje
  1. mb_ereg_replace_callback
ktora by mi tu idealnie pasowala ale narazie pozostaje na darmowym serwerze wiec odpada zmiana wersji (zreszta z webserv na localu tez mi sie nie chce kombinowac).
Niby działa mi to to ale czasem pojawiają mi się znaczki zapytania w kwardratach w zależności od wyrazenia do testowania jak mieszam zwykle znaki z polskimi jak same polskie to nie. W każdym razie jak ktos jest agresywnym uzytkownikiem to niech se widzi te znaki zapytania, aczkolwiek szkoda ze nie dziala perfecto jak lubie.
dZIEKI, pozdrawiam baaasmiley.gif
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: 21.08.2025 - 12:09