![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czemu ale funkcja str_replace nie działa mi dobrze z polskimi znakami. Mam łańcuch znaków wpisany w kodzie php (edytor ma kodowanie utf-8), następnie zamieniam w tym łańcuchu znaki diakrytyczne na ich odpowiedniki w ascii: 'ą' na 'a', 'ć' na 'c' i tak dalej. I na stronie dostaje same znaki zapytania w miejsce polskich liter. Kodowanie strony jest utf-8 i teksty wpisane w htmlu są poprawnie wyświetlane. Co zrobić?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
athei już się chyba wyjaśniło, wcześniej przed str_replace użyłem strtolower. I właśnie ta funkcja namieszała. Po jej wycięciu jest ok - musiałem dopisać zamiany dla wielkich liter i dopiero potem zamiana na małe literki. Czemu strtolower tak brzydko się zachowuje? W manualu znalazłem: Note that 'alphabetic' is determined by the current locale. Czyli pewnie gdzieś w konfiguracyjnym pliku mogę przestawić na polski alfabet, ale to czyni skrypt/stronę zupełnie nie przenośną - nie zawszę będę miał dostęp do konfiguracji php. Czy da się zmienić ten "local" i w ogóle domyślne kodowanie zawsze i wszędzie na utf-8 z poziomu skryptu php?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 17:57 |