|
TwojePC.pl © 2001 - 2025
|
 |
A R C H I W A L N A W I A D O M O Ś Ć |
 |
| |
|
[PHP]Formularze i problem z kodowaniem , KwiateK 11/07/04 18:26 Jest sobie formularz. Dziala on tak, ze uzytkownik wpisuje jakis tekst, naciska "Wyslij", po czym laduje sie nastepna strona na ktorej pisze np. "wpisales: <to co zostalo wpisane>".
Problem polega na tym, ze kiedy uzytkownik wpisze np. "ążćńóę" to po wcisnieciu "Wyslij" wyswietla sie "wpisales:<jakies tam dziwne znaczki>" (zamiast poprawnego: "wpisales ążćńóę").
Co trzeba zrobic zeby "przekodowac" tekst wpisany przez uzytkownika (strona oczywiscie uzywa kodowania iso-8859-2).
PozdrawiamNie jestem facetem na jedną noc.
Aż tyle czasu to ja nie mam... - Już tak nie pamiętam, , McSet 11/07/04 19:07
ale wydaje mi się, że wystarczy zmienić ogonki na ich odpowiedniki w iso za pomocą komendy typu preg_replace. Oczywiście zamieniać na tej drugiej stronie.--
what's goin' on fails to concern me - no fakt. jest to jakis sposob... , KwiateK 11/07/04 19:15
podobno lepiej uzyc jest str_replace() zamiast preg_replace()
na http://www.leon.w-wa.pl/texts/optymalizacja.php , czytamy:
"Częstym błędem jest użycie funkcji ereg_replace() lub preg_replace() do prostej podmiany jednego słowa na inne. Jest to błąd kosztujący sporo czasu. Użycie zamiast tego funkcji str_replace() daje zysk o co najmniej 25%. A im dłuższy jest string, w którym słowa mają być podmienione, tym większy jest zysk na wydajności."Nie jestem facetem na jedną noc.
Aż tyle czasu to ja nie mam... - :)) , McSet 11/07/04 19:31
No widzisz. Ja kod php widziałem ostatnio 2 lata temu ;)
Ale przynajmniej trop Ci dałem :D
Pozdr.
PS. Czułem, że może istnieć prostsza komenda...--
what's goin' on fails to concern me - Kod ze strtr , pachura 11/07/04 20:40
Jeżeli wszystko masz w iso-8859-2 (czyli ISO-Latin2), to z windowsowskiego win-1250 zamienisz ogonki poniższą linijką. Użycie strtr zamiast str_replace jest wydajniejsze, bo zamieniamy tylko pojedynczą literkę na inną pojedynczą literkę zamiast operować na ciągach znaków:
$tekst = strtr($tekst, "\xa5\x8c\x8f\xb9\x9c\x9f", "\xa1\xa6\xac\xb1\xb6\xbc") ;
Co do tekstu że im dłuższy string, tym funkcje z serii preg_* wolniej działają, to pozwolę się nie zgodzić... jest dokładnie odwrotnie ;)
|
|
|
|
 |
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL |
 |
|
|
|