![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 10.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Znalazłem w książce funkcję do obcinania tekstu wyświetlanego na stronie. Chciałem przetestować jej działanie i zauważyłem jej dziwne zachowanie. Mianowicie jeśli ostatni znak w tekście jest polskim znakiem diakrytycznym, ń, ć itp to wówczas jest on zamieniany na pytajnik. Natomiast jeśli ten znak jest zwykłą literą, znakiem interpunkcyjnym to wówczas jest on pomijany. Oto funkcja:
Macie jakieś pomysły co tu może być nie tak? Pozdrawiam Ten post edytował charli_22 11.03.2008, 14:08:56 -------------------- Test-Com - blog o testowaniu
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Problemy z UTF-8.
Po pierwsze sprawdź, czy na twoim serwerze dostępne jest rozszerzenie mbstring. Jeśli tak, to: mb_convert_encoding" title="Zobacz w manualu PHP" target="_manual - po lewej masz spis funkcji tego rozszerzenia. Będą tam też odpowiedniki niektórych wbudowanych w PHP funkcji operujących na tekście, np.: strlen" title="Zobacz w manualu PHP" target="_manual - mb_strlen" title="Zobacz w manualu PHP" target="_manual substr" title="Zobacz w manualu PHP" target="_manual - mb_substr" title="Zobacz w manualu PHP" target="_manual Teraz już tylko drobne "znajdź i zamień" w twoim skrypcie. Drugi sposób: php.ini -> mbstring.func_overload = 1 -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
pewnie masz kodowanie UTF-8 - czyli polskie literki zajmują więcej niż jeden bajt, musisz wymienić zwykłe funkcje 'string' na funkcje z bibliteki 'multibyte string functions', np.
strlen() => mb_strlen() strpos() => mb_strpos() substr() => mb_substr() itd... -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 10.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tak, zgadza się kodowanie mam UTF8. Ok, zaraz sprawdze te rozwiązania.
Thx Pozamieniałem funkcje i już jest wszystko OK. Dzięki charli_22 -------------------- Test-Com - blog o testowaniu
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:47 |